3

我正在寻找任何关于 os x 的频率分析示例。我知道我应该计算音频样本的 FFT。我有来自苹果网站的用于执行 ffts 的代码示例:

http://developer.apple.com/library/mac/#featuredarticles/AccelerateFrameworkData/_index.html

但是,我正在寻找任何示例来解释实部和虚部如何转换为频率和幅度分量。我有一个非常简单的音调,我想计算它的频率。

4

2 回答 2

2

Paul R 已经回答了每个 FFT bin 的中心频率。但是请注意,您希望分析的音频中的精确频率可能不在任何 FFT bin 的中心。因此,您可能正在寻找的可能是使用 FFT 的频率估计算法,或者,对于包含音乐或语音的音频,音高检测/估计方法,这与频率估计不同。

于 2012-05-31T04:49:43.987 回答
2

在 FFT 之后,您需要获取每个复数输出 bin的大小:

magnitude = sqrt(re[i]*re[i] + im[i]*im[i]);

频率与 bin 索引有关,i :

freq = i * Fs / N;

其中 Fs = 采样率 (Hz),N = FFT 大小。

如果你只是在寻找一个单音,那么找到幅度最大的 bin 索引,然后使用上面的公式将该索引转换为频率。请注意,您只需要检查从 1 到 N/2-1 的 bin 索引。

于 2012-05-30T19:49:44.237 回答