18

I am interested in audio DSP programming, but not in any specific language. I seem to recall a website that had recipes for common DSP application (compressors, limiters, et cetera), but I can't seem to find it in my bookmarks or via Google.... does anyone here know of such a place?

Short of that, I am not very mathematically literate but I have a strong sense for algorithms and logic, as well as working knowledge of a few different languages. What are some good resources for the beginning DSP programmer?

Thanks

Tom

Tom Corelis
  • 4,990
  • 11
  • 35
  • 48

7 Answers7

5

Was the website www.MusicDSP.org?

This question: Recommended books for developing audio/music applications? lists a few books which may be relevant to you.

Community
  • 1
  • 1
Shannon Matthews
  • 9,649
  • 7
  • 44
  • 75
  • That is the website I was referring to. Frustratingly, a similar question came up in the right side of this after I posted :-/ – Tom Corelis Jun 08 '11 at 00:24
4

I'm going to suggest The Audio Programming Book from MIT Press. Lots of recipes and example code.

Eric Brotto
  • 53,471
  • 32
  • 129
  • 174
2

For general signal processing I'd recommend MatLab. MatLab has the libraries you need, good documentation and it was basically designed for this sort of thing. Now, I've not used it for audio signal processing, just sensor data and some data mining, but I think it's a good start to getting used to stuff like Fourier Transforms + various filters/windows.

Here's the MatLab documentation for the discrete fourier transform- really good:

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

nflacco
  • 4,972
  • 8
  • 45
  • 78
  • Back when I took systems engineering in college we used the Signals & Systems book by Oppenheim + Willsky, which I thought was pretty good. – nflacco Jun 07 '11 at 23:14
2

If you are looking for:
1. programming languages: I would recommend MATLAB or Octave. Octave is free, and almost the same as MATLab in every respect. If you are going to be using MATLab, you can take a look at the MATLab exchange. The site contains good examples of code for solving good problems, audio DSP and otherwise.

  1. Books: A good book to begin in DSP theory is the one by Proakis and Manolakis. Also, for a breezy tutorial to DSP, the Scientist and Engineer's Guide to DSP is one of the best. You can download the book for free and in some parts it is actually like reading a novel. Gets you upto speed with most issues that you might face in dsp and does so very intuitively with little Math.

  2. Applications: There are tons of applications out there! And with the increasing power, processing and otherwise, of smartphones and the like, intensive DSP calculations that were once the preserve of very powerful computers are now being done on the device itself. Once you are proficient enough, you may even consider contributing to different open-source projects.

Sriram
  • 10,298
  • 21
  • 83
  • 136
2

Adapted from: Where can I find good tutorials on writing audio DSP filters (lowpass, etc)?

A good filter cookbook is http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt

I also recommend getting Lyon's Understanding Digital Signal Processing. I am a bit biased, though, since I was a reviewer for the second edition (but I think a third edition came out recently).

Also check out Digital Audio Signal Processing and DAFX:Digital Audio Effects, both by Udo Zölzer.

Community
  • 1
  • 1
mpdonadio
  • 2,891
  • 3
  • 35
  • 54
1

Making Audio Plugins gives a very gentle start without too much DSP math.

The tutorials start from the very beginning and show how to create this synthesizer:

basteln
  • 2,483
  • 2
  • 19
  • 20
1

There's a lot of stuff for Python in music, although most of them don't emphasize DSP. Also, some parts of the language standard lib such as the itertools can be handy.

Implementing algorithms such as the ones declared that aren't part of the packages there (e.g. a limiter, a compressor) might be easier when thinking on Python iterables instead of taking care of segregating the sample-based and block-base approach manually, and that makes it easier to make the algorithm used in real time directly. AudioLazy is a Python DSP package made to have a simple API, maybe it'll help as basic structures such as Z-Transform filters are done directly by their equation, and any Python iterable can be used as audio. Perhaps seeing its code can be helpful, as well. (Disclosure: I'm the author of this package)

About a book, I like the DAFx, which is extremely practical and audio-oriented. You might consider implementing the algorithms on there (the MATLAB code) in Python.

For a more solid knowledge on DSP, you should read the book "Discrete-Time Signal Processing", by Oppenheim and Schafer.

H.D.
  • 4,168
  • 1
  • 18
  • 15