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?

È stato utile?

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
scroll top