Utilizzando Core Audio per estrarre carri da AIFF
Domanda
C'è un modo con Core Audio su OS X per estrarre una serie di fotogrammi in un file AIFF in un array di 32 bit galleggianti adatto per l'esecuzione di una FFT su?
Soluzione
Sì. Il modo più semplice per farlo è quello di utilizzare l'API ExtAudioFile. C'è un grande esempio in ConvertFile codice di esempio di Apple. Date un'occhiata a UseExtAF.cpp.
Per una frequenza di campionamento di 44,1 kHz, l'AudioStreamBasicDescription per il punto LPCM mobile a 32 bit sarebbe simile a questa:
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;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow