8

我正在尝试找到一种方法来检测 iPhone 麦克风录制的声音频率。我想检测声音频率是上升还是下降。

4

6 回答 6

5

您可以尝试使用SCListener。这是一个小型的开源类,非常易于使用

编辑:格式化程序不喜欢名称中的 _ 。链接在这里。http://github.com/stephencelis/sc_listener

于 2009-11-08T15:22:09.260 回答
2

要检测频率,您应该查看快速傅里叶变换 (FFT)算法。

于 2009-11-08T15:29:00.727 回答
2

请注意,SC_listener 不适用于运行 iOS 3.0 或更高版本的 iPhone,请检查 AVAudioRecorder 和 FFT。虽然它以某种方式在模拟器中工作......

于 2011-12-01T12:20:18.753 回答
0

对于简单的音高检测,我认为 FFT 已经足够好了。尝试查看加速框架中的 Aurio Touch 2 和 vDSP 参考。

于 2012-06-28T07:13:29.860 回答
0

我用 C 语言编写了一些用于跟踪音高的解释代码。它使用 FFT,这不是最佳方法,但您可以查看这对于您的应用程序是否足够好。理想情况下,您应该用硬件加速的东西替换 FFT。

http://blog.bjornroche.com/2012/07/frequency-detection-using-fft-aka-pitch.html

https://github.com/bejayoharen/guitartuner

于 2012-07-23T20:31:52.287 回答
0

贝多芬看起来是个不错的选择:https ://github.com/vadymmarkov/Beethoven

于 2017-06-21T15:45:36.257 回答