我需要一种从麦克风中获取频率并确定平均频率的方法。有没有库或其他东西来处理这个问题?
谢谢
发布于 2010-07-08 22:20:20
如果你的目标是iOS 4和更高版本,苹果现在包含了加速框架。在苹果的“最新动态”页面上:
http://developer.apple.com/technologies/iphone/whats-new.html#api
Accelerate
Accelerate提供了数以百计的针对iPhone和iPod touch进行优化的数学函数,包括信号处理例程、快速傅立叶变换、基本向量和矩阵运算,以及用于分解矩阵和解线性方程组的行业标准函数。
发布于 2010-07-08 22:10:09
你会想要使用FFT,所以我建议你看看下面的问答:
发布于 2015-07-24 17:07:47
您可以使用EZAudio类获取频率Download the Demo Here,并使用此方法获取频率
- (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);
});
} https://stackoverflow.com/questions/3204350
复制相似问题