loading...
All Computer music articles | Back to top

Digital Signal Processing References

This is a list of useful references for learning DSP programming. For each article or book, I will note what I found it useful for.


Oscillators and FM Synthesis

Saw wave aliasing

How to implement standard oscillators such as sine, saw, and square waves, as well as FM synthesis. Sine waves and FM synthesis are the easiest to implement, saw and square waves are a little bit more tricky.


Filters

Ladder filter

These will help you implement filters like the Moog ladder filter, graphical equalizers, and DC filters.


Delay-based effects, Reverb, Physical Modelling

Schroeder Reverb structure

A range of effects is based on feedback delays. A comb filter is a delay, an allpass filter is a comb filter with an added feed-forward, and delay, reverb, and physical modelling can be constructed out of comb and allpass filters.


DSP Theory, Z-transform, Transfer Functions

DSP effects and filters can be specified as pseudocode, recurrence relations, or block diagrams, which are all relatively simple to translate into code. A deeper understanding of DSP theory is not required to implement your own DSP effects or even a synthesizer.

The key to understanding the often used block diagrams is that Z^-1 means a delay of one sample.

The formal mathematical filter theory will help understanding transfer functions, block diagrams including the use of Z^-1. The math concepts are intuitively quite difficult, and I recommend following a DSP course to fully understand these.


History

Max Mathews at Bell Labs

Unorganized References