我想开发一个将音频(.wav)作为输入并显示其实时同步频谱的应用程序。从我对这个主题的看法来看,这需要对波进行傅里叶变换。有人可以建议我应该从哪里开始吗?可能的参考和书籍。我想学习实时频率语音实现的细节,而不是我非常熟悉的GUI开发(在C#和C ++中)。
答案 0 :(得分:3)
已经有很多库可以为你做FFT。没有理由重新发明轮子。 DirectX有一个implementation,但它可能只是最新版本。 Here's一个开源C库。
如果您想了解其背后的数学,here's a simple explanation和here's a complicated explanation。
答案 1 :(得分:1)
您应该首先打开wav文件,提取音频流并对其进行解码。有第三方库可以帮助完成此操作。
答案 2 :(得分:1)
看看FFTW。
就书籍而言,关于信号处理的经典教科书是Oppenheim和Schafer的数字信号处理。它的大学水平,但它是完全通过。你确实需要一些关于微积分的知识。
答案 3 :(得分:1)
在开始实施应用程序以显示某些内容之前,应该先理解一下理论。这里有一些关于数字信号处理的免费在线资源,这是理解FFT和频谱的基础,也许是如何不滥用它们。
http://www.dspguide.com/pdfbook.htm
http://www.bores.com/courses/intro/index.htm