有没有一种方法可以在OS X上使用Core Audio将AIFF文件中的一组帧提取到适合执行FFT的32位浮点数组中?
最佳答案
是。最简单的方法是使用ExtAudioFile API。苹果的ConvertFile示例代码中有一个很好的例子。看看UseExtAF.cpp。
对于44.1 kHz的采样率,用于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;
关于audio - 使用Core Audio从AIFF提取花车,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1965148/