Starting Signal Processing
• Chris Liscio
• Chris Liscio
People often ask what introductory books that I recommend they read to get started with audio signal processing. There are two books I suggest, one of which is optional.
While starting out, I happened upon a book by Ken Steiglitz called A Digital Signal Processing Primer: With Applications to Digital Audio and Computer Music. I recommend this book to everyone that asks because I have such fond memories of reading it instead of the material I was supposed to be reading for school.
The DSP Primer book takes you on a grand tour of the important bits of audio signal processing. It covers simple sine waves, filters, the Fourier transform, aliasing and sampling, etc. There is even a chapter at the end that explains various applications of signal processing using the material you just learned. It's around 300 pages long and not too dense.
I recommend starting with a high-level book like this because it will walk you through most of the things you need to know, and then you can supplement your understanding as required. For instance, the book will cover windowing by showing you the rectangular and Hamming windows. In reality, there are very many window functions that have different characteristics. At every turn you'll find a new rabbit hole for you to explore.
Since that book came out in the mid 90s, plenty more resources have emerged. Very recently I came across The Audio Programming Book which does a great job of bridging the topics covered in the DSP Primer with code. Sometimes concepts make a little more sense when you see them in a more familiar C/C++ notation, plus this book goes beyond the basics. There's even a chapter on the phase vocoder, which is the main component that makes up the independent time/pitch manipulation effect.
The Audio Programming Book also does a good job of introducing you to many of the foundational audio programming concepts and techniques that I had to figure out the hard way. Unfortunately some of the stuff in the book is a little too Linux-y for my liking, but there are supplemental chapters that cover Mac and iOS audio coding on the DVD that ships with the book. (Hope you have an old Mac laying around with an optical drive…)
I own plenty more books on the topic of signal processing and audio programming, but these two are a great launching point. If you had to just buy one book, the DSP Primer is more approachable while the Audio Programming Book reads more like a textbook (with a painful intro to C programming at the beginning.) The Audio Programming Book is far more complete in that it covers way more topics, but I would have no idea how to steer you through the content so that you would understand the bigger picture.
Feel free to tweet me @liscio if you have questions about these books or need suggestions beyond the introductory texts.