のピッチシフトの簡単なドラムパッドマシンアプリケーションを実装しようとしています。私はAVAudioEngine APIを使用しています。
アプリ内にのパッドがあります。各パッドには独自のクラスがあり、AVAudioPlayerNodeです。接続されている他のフィルタがない場合、アプリケーションはかなり高速に動作しています。ほとんど遅れることなく
AVAudioUnitTimePitchをチェーンに添付しようとすると、CPUの使用率が100%に上昇し、初期化後にアプリケーションがハングアップします。試験したのはiPad3です。
このコードは、パッドの初期化ごとに表示されます。AVAudioEngine API:AVAudioUnitTimePitchのCPU使用量が多すぎます
_playerNode = [[AVAudioPlayerNode alloc] init];
_pitchFilter = [[AVAudioUnitTimePitch alloc] init];
[_audioEngine attachNode:_playerNode];
[_audioEngine attachNode:_pitchFilter];
[_audioEngine connect:_playerNode to:_pitchFilter format:_buffer.format];
[_audioEngine connect:_pitchFilter to:_audioEngine.mainMixerNode format: _buffer.format];
何らかの理由でCPU使用量を減らす方法はありますか?
P.S.また、私はiPad Airでこのアプリをテストしました。そして、それは動作します。しかし、CPU使用率は依然としてかなり高いです。initの後に25-30%です。そして、約約50%オーディオを再生中。