マイクから周波数を取得し、平均周波数を決定する方法が必要です。これを処理するライブラリまたは何かがありますか?
ありがとう
iOS 4 以降をターゲットにしている場合、Apple には Accelerate フレームワークが含まれるようになりました。Apple の「What's new」ページから:
http://developer.apple.com/technologies/iphone/whats-new.html#api
加速する
Accelerate は、信号処理ルーチン、高速フーリエ変換、基本的なベクトル演算と行列演算、および行列の因数分解と線形方程式系の求解のための業界標準関数など、iPhone と iPod touch 用に最適化された数百の数学関数を提供します。
EZAudio
クラスを
使用して頻度を取得できますここでデモをダウンロードし、
このメソッドを使用して頻度を取得します
- (void) fft:(EZAudioFFT *)fft updatedWithFFTData:(float *)fftData bufferSize:(vDSP_Length)bufferSize
{
float maxFrequency = [fft maxFrequency];
NSString *noteName = [EZAudioUtilities noteNameStringForFrequency:maxFrequency
includeOctave:YES];
dispatch_async(dispatch_get_main_queue(), ^{
[audioPlotFreq updateBuffer:fftData withBufferSize:(UInt32)bufferSize];
NSLog(@"Frequncy : %f Highest Note : %@",maxFrequency,noteName);
});
}
FFT を使用する場合は、次の Q&A を参照することをお勧めします。