在 iOS SDK 中检测特定频率范围内的声级
Detect sound level in a certain frequency range in iOS SDK
我正在开发我的 iOS 应用程序,我需要检测特定频率范围内的声级。 Here is 一个很好的检测声级的教程,但是如何在 iOS SDK 中的特定频率范围内做到这一点?
在不知道确切用例的情况下,我可以想象与乐器调音器应用程序中使用的代码类似的代码会起作用。快速搜索发现 this guitar tuning app 使用快速傅里叶变换。
请注意,FFT 是在 Accelerate 框架中实现的,在此应用程序中,它们似乎是从其他库中导入的。
您需要从麦克风捕获音频(AVAudioEngine
是一个很好的 API ),计算它的傅立叶变换(Accelerate
框架将以惊人的速度完成) 并检查与您的频率对应的频率桶的幅度。如果它很大,那么你就有了一场比赛。
一种可能更简单、更有效的技术是 Goertzal filter,它擅长检测给定频率。
我正在开发我的 iOS 应用程序,我需要检测特定频率范围内的声级。 Here is 一个很好的检测声级的教程,但是如何在 iOS SDK 中的特定频率范围内做到这一点?
在不知道确切用例的情况下,我可以想象与乐器调音器应用程序中使用的代码类似的代码会起作用。快速搜索发现 this guitar tuning app 使用快速傅里叶变换。 请注意,FFT 是在 Accelerate 框架中实现的,在此应用程序中,它们似乎是从其他库中导入的。
您需要从麦克风捕获音频(AVAudioEngine
是一个很好的 API ),计算它的傅立叶变换(Accelerate
框架将以惊人的速度完成) 并检查与您的频率对应的频率桶的幅度。如果它很大,那么你就有了一场比赛。
一种可能更简单、更有效的技术是 Goertzal filter,它擅长检测给定频率。