如果有任何方法可以获得声音的频率。

时间:2013-08-30 07:30:22

标签: iphone signal-processing fft dft

我想知道数据的频率。我有点想到它可以使用FFT完成,但我不知道该怎么做。一旦我将整个数据传递给FFT,它就会给我2个峰值,但我怎样才能获得频率?

提前多多感谢。

2 个答案:

答案 0 :(得分:3)

请查看此页面以获取有关如何计算它的说明: FFT Fundamentals

请同时查看此答案(这是C#代码,但我认为您可以轻松理解) How do I obtain the frequencies of each value in an FFT?

最后看看这个,它使用DFT而不是FFT:
Determining the magnitude of a certain frequency on the iPhone

我还发现了你可以在Objective-C中使用的这个实现:

用于查找频率https://github.com/jkells/sc_listener的库 使用上述库https://github.com/jkells/sc_listener_sample

的示例

问候

答案 1 :(得分:1)

FFT将为您提供信号的所有正弦分量的频率。相反,如果您只需要常见波形的周期性频率(更有趣的发声和看起来像普通的正弦波),例如由语音和音乐产生,那么您可能想要使用音调检测/估计算法而不仅仅是FFT峰值