我正在寻找任何关于 os x 的频率分析示例。我知道我应该计算音频样本的 FFT。我有来自苹果网站的用于执行 ffts 的代码示例:
http://developer.apple.com/library/mac/#featuredarticles/AccelerateFrameworkData/_index.html
但是,我正在寻找任何示例来解释实部和虚部如何转换为频率和幅度分量。我有一个非常简单的音调,我想计算它的频率。
我正在寻找任何关于 os x 的频率分析示例。我知道我应该计算音频样本的 FFT。我有来自苹果网站的用于执行 ffts 的代码示例:
http://developer.apple.com/library/mac/#featuredarticles/AccelerateFrameworkData/_index.html
但是,我正在寻找任何示例来解释实部和虚部如何转换为频率和幅度分量。我有一个非常简单的音调,我想计算它的频率。
Paul R 已经回答了每个 FFT bin 的中心频率。但是请注意,您希望分析的音频中的精确频率可能不在任何 FFT bin 的中心。因此,您可能正在寻找的可能是使用 FFT 的频率估计算法,或者,对于包含音乐或语音的音频,音高检测/估计方法,这与频率估计不同。
在 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 索引。