【问题标题】:Implementing Real Time frequency spectrum for a beginner为初学者实现实时频谱
【发布时间】:2011-09-07 04:34:58
【问题描述】:

我想开发一个应用程序,它将音频(.wav)作为输入并显示其实时同步频谱。从我所看到的主题来看,这需要波的傅立叶变换。有人可以建议我应该从哪里开始吗?可能的参考资料和书籍。我想了解实时频谱实现的细节,而不是我非常熟悉的 GUI 开发(在 C# 和 C++ 中)。

【问题讨论】:

  • Numerical recipes”系列书籍介绍了FFT的实现。每个人都喜欢批评他们,但至少作为一个学习练习,这可能是一个很好的起点。

标签: c++ signal-processing fft frequency-analysis


【解决方案1】:

已经有很多库可以为您进行 FFT。没有理由重新发明轮子。 DirectX 有一个implementation,但它可能只在最新版本中。 Here's 一个开源 C 库。

如果您想了解其背后的数学原理,here's a simple explanationhere's a complicated explanation

【讨论】:

  • “在此服务器上找不到请求的 URL /2011/05/17/understanding-the-fourier-transform/。” - 这就是我们不使用外部链接的原因。请更新您的答案。
【解决方案2】:

您应该首先打开wav 文件,提取音频流并对其进行解码。有 3rd 方库可帮助执行此操作。

【讨论】:

    【解决方案3】:

    看看FFTW

    就书籍而言,关于信号处理的经典教科书是 Oppenheim 和 Schafer 的数字信号处理。它的大学水平,但它已经完成了。您确实需要一些微积分知识。

    【讨论】:

      【解决方案4】:

      在着手实施应用程序以显示某些内容之前,应该了解一些理论。这里有一些关于数字信号处理的免费在线资源,这是了解 FFT 和频谱以及如何不滥用它们的基础。

      http://www.dspguide.com/pdfbook.htm

      http://www.bores.com/courses/intro/index.htm

      http://ccrma.stanford.edu/courses/320/Welcome.html

      http://yehar.com/blog/?p=121/

      【讨论】:

        猜你喜欢
        • 2020-04-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-16
        • 1970-01-01
        相关资源
        最近更新 更多