2010-06-03 169 views
1

在我的应用程序中,我想要在录制音频时动态地查找/计算音频,而不需要保存,播放和全部。现在我正试图在aurioToch示例代码的帮助下做到这一点。在那个示例中,在FFTBufferManager类的方法(如GrabAudioData和ComputeFFT)中,在这里我无法找到他们计算频率值的位置,因为它动态地取决于音频声音,我花了超过5天时间。请帮助我。动态计算频率值?

+0

伙计,不只有一个频率值。快速傅里叶变换为每个频率(范围)提供一个值,如同该图像一样。 http://www.owlnet.rice.edu/~elec301/Projects02/adaptiveFilters/images/fft-partial.png如果你真的想要,你可以选择一个主导频率,但可能没有。 – 2010-06-03 14:23:18

+0

“”“在这里,我无法找到他们计算频率值的位置,因为它动态地取决于音频声音,我花了超过5天时间。请帮助我。”“” - 我不明白。要计算频率的权重,您需要一些长度的样本。如果你正在谈论“滚动”计算,尝试采取最后30秒左右的窗口...... – 2010-06-03 14:25:09

+0

@Hamish Grubijan,感谢您的回复,我想计算在录制音频时连续显示频率。 – Sivanathan 2010-06-03 15:31:22

回答

1

如果音频信号清晰纯净,则不需要使用FFT。只要计算高峰和低谷。或者只是高峰。取出该数字并除以缓冲区中的样本数量,然后乘以采样速率。这是你的频率值。