如何检测iPhone上的声音频率/音高?

时间:2009-11-08 14:54:43

标签: iphone audio frequency pitch

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

6 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:2)

要检测频率,您应该查看fast Fourier transform (FFT)算法。

答案 2 :(得分:2)

请注意,SC_listener不适用于运行iOS 3.0或更高版本的iPhone,请检入AVAudioRecorder和FFT。它在某种程度上可以在模拟器中工作....

答案 3 :(得分:0)

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

答案 4 :(得分:0)

我写了一些代码,其中包含用于跟踪C中音高的说明。它使用FFT,这不是最佳方法,但您可以看到它是否足以满足您的应用需求。理想情况下,您可以用硬件加速的东西替换FFT。

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

https://github.com/bejayoharen/guitartuner

答案 5 :(得分:0)

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