【问题标题】:Resources for audio DSP beginners? [closed]音频 DSP 初学者的资源? [关闭]
【发布时间】:2011-09-10 07:36:03
【问题描述】:

我对音频 DSP 编程感兴趣,但对任何特定语言都不感兴趣。我似乎记得有一个网站有常见 DSP 应用程序(压缩器、限制器等)的配方,但我似乎无法在我的书签或通过 Google 找到它……这里有人知道这样的地方吗?

除此之外,我的数学素养不是很高,但我对算法和逻辑有很强的理解力,以及几种不同语言的工作知识。有哪些适合初学 DSP 程序员的好资源?

谢谢

汤姆

【问题讨论】:

  • 初学者可以试试dspguru.com,也可以试试musicdsp.org
  • dspguru 是否仍处于活动状态?闲置了好久,好像有更新了?

标签: audio signal-processing


【解决方案1】:

网站是www.MusicDSP.org吗?

这个问题:Recommended books for developing audio/music applications? 列出了一些可能与您相关的书籍。

【讨论】:

  • 我指的是那个网站。令人沮丧的是,在我发布后,右侧出现了一个类似的问题:-/
【解决方案2】:

我将推荐 MIT Press 的 The Audio Programming Book。很多食谱和示例代码。

【讨论】:

    【解决方案3】:

    对于一般信号处理,我推荐 MatLab。 MatLab 有你需要的库,良好的文档,它基本上是为这类事情设计的。现在,我还没有将它用于音频信号处理,仅用于传感器数据和一些数据挖掘,但我认为这是一个很好的开始,可以用来熟悉傅里叶变换 + 各种过滤器/窗口之类的东西。

    这是离散傅里叶变换的 MatLab 文档——非常好:

    http://www.mathworks.com/help/techdoc/ref/fft.html;jsessionid=x9xhNglGm1DdQNTBzyhj8DGb50QVnvCGxf3KmvM3xbnPlMbxGBQT!-779685318

    【讨论】:

    • 当我在大学学习系统工程时,我们使用了 Oppenheim + Willsky 的 Signals & Systems 一书,我认为这本书非常好。
    【解决方案4】:

    如果您正在寻找:
    1. 编程语言:我会推荐 MATLAB 或 Octave。 Octave 是免费的,在各个方面都与 MATLab 几乎相同。如果您打算使用 MATLab,可以查看 MATLab 交换。该站点包含用于解决好问题、音频 DSP 和其他方面的好代码示例。

    1. 书籍:一本很好的 DSP 理论入门书籍是Proakis and Manolakis 所著。此外,对于 DSP 的轻松教程,Scientist and Engineer's Guide to DSP 是最好的教程之一。你可以免费下载这本书,在某些地方它实际上就像读一本小说。让您快速了解您在 dsp 中可能遇到的大多数问题,并且只需很少的数学即可非常直观地做到这一点。

    2. 应用程序:有大量的应用程序!随着智能手机等功能、处理能力和其他方面的不断提高,曾经由非常强大的计算机保留的密集 DSP 计算现在正在设备本身上完成。一旦你足够熟练,你甚至可以考虑为不同的开源项目做出贡献。

    【讨论】:

      【解决方案5】:

      改编自:Where can I find good tutorials on writing audio DSP filters (lowpass, etc)?

      一个好的过滤器食谱是http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt

      我还建议学习里昂的了解数字信号处理。不过,我有点偏见,因为我是第二版的审稿人(但我认为第三版最近出版了)。

      还可以查看 Digital Audio Signal ProcessingDAFX:Digital Audio Effects,均由 Udo Zölzer 编写。

      【讨论】:

        【解决方案6】:

        Making Audio Plugins 提供了一个非常温和的开始,无需过多的 DSP 数学运算。

        教程从一开始就展示了如何创建这个合成器:

        【讨论】:

          【解决方案7】:

          Python in music 有很多东西,虽然大部分都不强调 DSP。此外,语言标准库的某些部分(例如 itertools)也很方便。

          在考虑 Python 可迭代对象而不是考虑分离基于样本和基于块的方法时,实现诸如声明不属于包的一部分的算法(例如限制器、压缩器)可能会更容易手动,这使得直接实时使用算法更容易。 AudioLazy 是一个 Python DSP 包,具有​​简单的 API,也许它会有所帮助,因为 Z-Transform 滤波器等基本结构直接由它们的方程完成,并且任何 Python 可迭代对象都可以用作音频。也许查看它的代码也会有所帮助。 (披露:我是这个包的作者)

          关于一本书,我喜欢DAFx,它非常实用且音频导向。您可以考虑在 Python 中实现那里的算法(MATLAB 代码)。

          要更深入地了解 DSP,您应该阅读 Oppenheim 和 Schafer 所著的《离散时间信号处理》一书。

          【讨论】:

            猜你喜欢
            • 2011-02-14
            • 1970-01-01
            • 2010-09-16
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-03-17
            • 2020-07-25
            • 1970-01-01
            相关资源
            最近更新 更多