我正试图找到一种方法来检测iPhone的麦克风录制的声音频率。我想检测声音频率是上升还是下降。
答案 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
答案 5 :(得分:0)
贝多芬看起来是个不错的选择:https://github.com/vadymmarkov/Beethoven