在iOS SDK中检测特定频率范围内的声级

时间:2015-03-31 16:54:44

标签: ios audio avaudiorecorder

我正在使用我的iOS应用程序,我需要检测某个频率范围内的声级。 Here is一个检测声级的好教程,但是如何在iOS SDK中的特定频率范围内做到这一点?

2 个答案:

答案 0 :(得分:2)

您需要从麦克风中捕获音频(AVAudioEngine是一个很好的API),计算其傅立叶变换(Accelerate框架将以极快的速度执行此操作)并检查振幅与您的频率对应的频率桶。如果它很大,那么你就得到了匹配。

一种可能更简单,更有效的技术是Goertzal filter,它擅长检测给定的频率。

答案 1 :(得分:0)

在不知道具体用例的情况下,我可以想象类似的代码与乐器调谐器应用程序中使用的代码相同。快速搜索this guitar tuning app,使用快速傅里叶变换。 请注意,FFT是在Accelerate框架中实现的,在这个应用程序中,它们似乎是从其他库中导入的。