0

OS X で Core Audio を使用して、AIFF ファイル内の一連のフレームを FFT の実行に適した 32 ビット float の配列に抽出する方法はありますか?

4

1 に答える 1

3

はい。これを行う最も簡単な方法は、ExtAudioFileAPIを使用することです。AppleのConvertFileサンプルコードには素晴らしい例があります。UseExtAF.cppをご覧ください。

サンプルレートが44.1kHzの場合、32ビット浮動小数点LPCMのAudioStreamBasicDescriptionは次のようになります。

AudioStreamBasicDescription fmt;
fmt.mSampleRate = 44100;
fmt.mFormatID = kAudioFormatLinearPCM;
fmt.mFormatFlags = kLinearPCMFormatFlagIsFloat;
fmt.mBitsPerChannel = sizeof(Float32) * 8;
fmt.mChannelsPerFrame = 1; // set this to 2 for stereo
fmt.mBytesPerFrame = fmt.mChannelsPerFrame * sizeof(Float32);
fmt.mFramesPerPacket = 1;
fmt.mBytesPerPacket = fmt.mFramesPerPacket * fmt.mBytesPerFrame;
于 2010-04-03T01:28:40.150 に答える