2017-06-29 18 views
0

私は過去数週間、オーディオ周波数をコントロールする簡単な方法(I.E.オーディオファイルのピッチを変更する)をリアルタイムで迅速に行うことを試みてきました。 私はAVAudioPlayer.rateで試してみましたが、スピードを変更するだけです。 AVAudioUnitTimePitchをオーディオエンジンに接続しようとしても成功しませんでした。 AVAudioUnitTimePitchは私にエラーを表示し、レートは私の必要としない再生速度を変更します。私がやりたい何 が高い音や低い音程を作る、ですので、それは二倍の速果たします(オーディオsource.duration/2 -1.0から2.0に言う。リアルタイムでの音の高さの変更(Swift)

君たちはにどのような方法を知っていますかあなたは、オーディオユニットのAPIを使用している場合、私は外部のライブラリやクラスを使用する必要があっても、これを行う?

はありがとう、私は続行する方法へと困惑しています。

答えて

0

は、iOSの内蔵kAudioUnitSubType_NewTimePitchのAudio Unitコンポーネント例えば、kNewTimePitchParam_RateパラメータとkNewTimePitchParam_Pitchパラメータは独立しています。

Audio Unitフレームワークには(現在非推奨の)C APIがありますが、SwiftコードからC API関数を呼び出すことができます。

+0

お返事ありがとうございました。私はどうにかしてAVAudioNodeに接続することができますか?私はC APIであるため、これを適用する方法については混乱しています。何かヒント? –

+0

申し訳ありませんが、AVAudioUnitTimePitchが動作するようになりましたが、htisは実際に何をしているのですか?これは時間が伸びて不要な処理が行われるため、低速で再生するようにダウンサンプルしています。 –

+0

あなたはMIDIサンプラー合成エンジンを調べて、それがあなたが望むものをするかどうかを調べることができます。 – hotpaw2

関連する問題