2010-04-10 123 views
2

我该如何获得(是否有可能?)所有音频频率现在都在系统中播放,用于编写一些声音可视化工具?有没有库C++或c#? 预先感谢所有音频频率

回答

4

基本步骤是:

  • 应用窗函数以阻止样品的(例如1024个样本,汉宁窗)
  • 上加窗采样执行实数到复数FFT
  • 取每个FFT输出仓的幅度(sqrt(re * re + im * im)
  • 在结果功率谱估计中识别峰值
  • 每个峰值的bin索引对应于f该部件的频率
+0

这些是什么操作的基本步骤? – tga 2010-04-10 10:33:06

+1

@Tgadfly:这些是确定音频流中存在的频率分量的基本步骤。您可以使用FFTW或者KissFFT等FFT库来完成繁重的工作 - 其余部分非常简单。 – 2010-04-10 14:19:46

1

我不确定,但我认为你可以使用FMOD库来做到这一点。具体而言,Get spectrum函数。