2011-05-13 15 views
1

これはMac OS XではAudioStreamBasicDescriptionのサンプルレートを上書きして新しい出力キューを作成することで可能になると考えられています。オーディオキューの再生ピッチを変更することが可能です

デフォルトのサンプルレートを取得して新しいサンプルレートを書き込むことができました(つまり、44100を48000に置き換えます)が、出力信号にピッチの変化は生じません。

err = AudioFileGetProperty(mAudioFile, kAudioFilePropertyDataFormat, &size, &mDataFormat); 
     if (err != noErr) 
      NSLog(@"Couldn't determine the audio file format"); 
     Float64 mySampleRate = mDataFormat.mSampleRate; //the initial rate 
     if (inRate != 1) { 
//write a new value 
      mDataFormat.mSampleRate = inRate; 
      //then 
err = AudioQueueNewOutput etc. 

ご意見をいただければ幸いです。

答えて

0

サンプルレートを変更しても、オーディオの音程は変わりません。より速く再生するものが高い音程を持っていると感じるかもしれません。しかし、それは現実よりも知覚です。

ピッチを変更するには、デジタル信号処理(DSP)ライブラリを使用してオーディオデータを処理する必要があります。また、AudioUnitのを通してそれを実行しているを見てみましょう:

Audio Unit Programming Guide

+0

サンプリングレートを変更する* *オーディオのピッチを変更しません。それはピッチとテンポを一緒に変えます。それは単なる知覚ではない。ただし、テンポを変更しなくても、ピッチのみを変更することは可能です。 –

関連する問題