如何使用c#或XNA测量声音频率?

时间:2012-11-04 14:23:48

标签: c# xna-4.0 audio

如何使用c#或XNA测量声音频率?有没有图书馆呢?我想录制声音并识别这种声音的频率。

1 个答案:

答案 0 :(得分:4)

频率是什么意思?大多数声音,如语音,音乐等,都包含整个频谱。所以你基本上寻找的是spectrum analyzer。可以使用快速傅立叶变换(FFT)来计算这样的频谱。完成后,您可以查找频谱中的主频率(如果有)。

您可能需要查看NAudio和相关库,例如WPF Sound Visualizer,以了解如何在C#中完成此操作。还有一个CodeProject article使用XNA捕获麦克风输入,然后使用NAudio进行进一步处理。虽然该文章中的示例针对的是Windows Phone,但我认为它也应该在桌面应用程序中进行少量修改。