Resources

Resources recommended by WolfSound for learning audio programming

Here are my recommended resources for mastering audio programming (and some other areas of life). All the products on this page were thoroughly tested by me, and I found them incredibly useful.

Before we dive into it, let me just say that if you truly want to learn audio programming, the best way I know to do it is to subscribe to my newsletter. In this way, you'll have regular and instant access to the most valuable materials on audio programming fundamentals and advanced techniques.

With this out of the way, I need to stress 2 points about this list:

  1. This is my personal "top" list. I haven't read all the books that exist on audio programming, therefore I cannot say that these are the best books overall. They are the best books I know personally.
  2. This is my personal "top" list. 😉 If you disagree with my opinion, then please, share it in the comments below! Other readers will benefit from a diversity of opinions.

Where possible, I have included links to legal, free versions of the mentioned books.

If you have any questions to these resources, feel free to ask a comment in the comment section at the bottom of the page.

Additionally, if you benefited from these products yourself, please, let everyone know as well!

Hereby, I disclose that I am an Amazon Associate. As an Amazon Associate I earn from qualifying purchases. Links below may be affiliate links. That means that I may earn a commission if you decide to make a purchase. This does not incur any cost for you. Thanks to these affiliate contributions, I am able to run the site and provide you with new, high-quality content. Thank you.

Jump to Category

  1. Digital Signal Processing Books
  2. Sound Synthesis Books
  3. Other Digital Audio Books
  4. Computer Science Books
  5. Self-Development Books
  6. Fiction Books

Digital Signal Processing Books


 cover

Discrete-Time Signal Processing

by
Alan Oppenheim
Ronald Schafer

An incredible reference book covering all the basics of digital signal processing written by professors from MIT. You'll find here an in-depth explanation of concepts like the z-transform, FIR and IIR filters in their various forms, the discrete Fourier transform, and even a handy appendix reviewing the analog filters as a basis for IIR filter design. I do not plan to read it cover-to-cover but I do want to read some sections in full. Spread over 1000 pages, it contains all you need for computer music understanding and more.

 cover

Signals and Systems

by
Alan V. Oppenheim
Alan S. Willsky
S. Hamid Nawab

Yet another reference book from MIT. It covers a little bit wider area than "Discrete-Time Signal Processing" and focuses mostly on continuous-time signals (but not only). The most useful sections for audio programmers include the Fourier series, the Fourier transform, sampling, the Laplace transform, the z-transform, and signal modulation.

 cover

Introduction to Digital Filters with Audio Applications

by
Julius O. Smith III

A great read to understand the rationale behind the digital filters. It is a relatively short book (less than 300 pages) and is available online for free. As it is a book accompanying a university course, it tries to explain things intuitively and show the reader various approaches to understanding filters. It shows the relation between the analog and the digital filters and provides a lot of helpful mathematics that underlie the two.


Sound Synthesis Books


 cover

The Computer Music Tutorial

by
Curtis Roads

Although it may seem to be an old book, it explains the basic concepts of sound synthesis incredibly well. If you consider writing software to generate sound, I recommend starting with this book. It covers sampling, additive synthesis, wavetable synthesis, wave terrain synthesis, granular synthesis, subtractive synthesis, all types of modulation synthesis, and touches also on physical modeling, FOF (formant) synthesis, graphic synthesis, and stochastic synthesis. It also does a nice job of providing names of example music works using the described techniques. Some additional useful parts deal with the MIDI protocol and digital signal processors' internals. I've read this book almost in full (I skipped the part on algorithmic composition) and I believe anyone can follow the presented material. There are few code listings and the maths used is very basic. For interested readers, the book contains very useful references albeit quite old ones.

 cover

Sound Synthesis and Sampling

by
Martin Russ

A description of sound synthesis techniques from a user's perspective. What do all those knobs mean? There is no code and almost no mathematics inside. Nevertheless, the book is incredibly useful for audio programmers. Here you can find, for example, a thorough explanation of envelope types. There is also a little bit more on sampling than in the book by Curtis Roads. The conversational style of the book keeps you engaged throughout. I've read this one in full and I would do it again.

Sound Synthesis for Music Reproduction and Performance

by
Marek Pluta

This monograph is not widely distributed and I don't know how to get hold of a copy other than by contacting the author directly. This book is a real sound synthesis encyclopedia. It describes all synthesis techniques you could imagine and two novel methods developed by the author himself. As an educated physicist, violinist, and conductor, he definitely knows what he's writing about. I have only used the book for reference so far but I plan to read it in full soon.


Other Digital Audio Books


 cover

Digital Audio FX (DAFX)

by
Udo Zölzer
and others

An amazing compilation of formulas, schematics, and code listings about all kinds of digital audio effects: from filters in all their flavors, through vibratos, compressors, EQs, to reverberation and time stretching. I plan to read this book in full but I have already read big chunks of it: all laid out in plain, understandable English without unnecessary additions. Additionally, every chapter ends with a comprehensive list of references. If you want to code an audio effect, check this book first. Related to it, is the DAFX conference.

 cover

Digital Audio Signal Processing

by
Udo Zölzer

This book covers the middle ground between DSP handbooks and "Digital Audio FX". It explains sampling, quantization, AD/DA conversion, audio systems interfacing, equalizers, reverberation, compressors, resampling, and audio coding. Interestingly, it contains some more in-depth derivations and explanations than DAFX. Check it out if you need some more reasoning behind certain algorithms rather than pure algorithms themselves.

 cover

Physical Audio Signal Processing

by
Julius O. Smith III

A comprehensive and versatile book on physical modeling, including not just sound synthesis but also reverberation and analog audio effects, like filters or phasers. It's a real encyclopedia of computer music... Check it out for sure, since it's free.

 cover

Fundamentals of Music Processing

by
Meinard Müller

Written by a professor from AudioLabs (joint institution of the Fraunhofer IIS and Friedrich-Alexander University of Erlangen-Nürnberg), who is known as an excellent educator, this book lays out most if not all classic (pre-deep learning) algorithms for music analysis (including the basics of Shazam's audio identification algorithm). On the accompanying website, you can find Jupyter Notebooks, sound examples, and exercises, which make the understanding even easier. I have read big portions of this book and I must admit that rarely any book is so clear in its mathematical notation. With that being said, you won't find here anything on audio effects or sound synthesis; this is pure music signal analysis. Take a look at least at the table of contents, which is available on the book's website (click below).


Computer Science Books


These books can give you the necessary basics of Computer Science for audio programming.

 cover

Design Patterns: Elements of Reusable Object-Oriented Software

by
Erich Gamma
Richard Helm
Ralph Johnson
John Vlissides

A collection of solutions to commonly recurring problems in software design. This book was a revelation to me. Literally, each and every pattern in this book was a solution of a problem I had encountered while programming. If you know an object-oriented programming language and did some programming (for example, at a university), make it your next read; it will save you lots of time during future development. Some experience is required, in my opinion, to fully grasp the beauty of the presented solutions.

 cover

Clean Code

by
Robert C. Martin

A must-read for every programmer. All the basics of quality code distilled. Makes you realize how small things can yield great benefits. Read my summary of the book here.

 cover

Clean Architecture

by
Robert C. Martin

A great follow-up to "Clean Code". It contains a summarized version of the most important architectural principles, focuses on component-based design, and advocates dependency-independence. Although it is rather high-level and doesn't contain complex examples, nevertheless, I believe every mid-level developer will benefit from it

 cover

The C++ Programming Language

by
Bjarne Stroustrup

I'm proud to have read that book in full, cover-to-cover (1366 pages). It follows my favorite style of presenting the material: a concept ➡️ an example. The biggest gains for me were certain lesser known C++ and STL features. Another advantage of the book are code examples, which show how C++ was intended to be used: "encode ideas in types". Although not up-to-date with C++ 14 and later standards, it is a great read even for complete novices in C++ (thanks to the short but exhaustive "tour of the language" at the beginning of the book). Are there better C++ books? Maybe. But getting this knowledge from Bjarne Stroustrup himself has a unique flavor to it.

 cover

The Pragmatic Programmer

by
David Thomas
Andrew Hunt

I've read the original edition of this book from the 90s; now, there is an updated "20th anniversary edition". I wouldn't say it is a must-read; it rather contains some interesting ideas. The ones that stuck in my mind were the DRY rule, and the tracer bullets idea. As a fun fact, the book stated that there were only two editors worth considering: emacs and vim. At the point when I read it, I hadn't heard about any of them!

 cover

Operating Systems: Internals and Design Principles

by
William Stallings

I love reading about operating systems: the most complex software systems ever created. The creativity of a human brain shines to me at the fullest when I'm reading about how specific problems were solved. William Stallings shows you step-by-step, how to construct an operating system starting from a concept of a digital hardware register. Although I don't claim that this book is the best book on the subject, I did like it and want to read it in full eventually. And I do believe every developer should know the basic rules and concepts governing an operating system like processes, threads, memory spaces, disks, and so on. A fun fact: I read a translation of this book, where the translator made fun of the author and his claims... A little embarrassing, in my eyes 🙂

 cover

Numerical Mathematics and Computing

by
E. Ward Cheney
David R. Kincaid

A good reference book for numerical issues. I use it to check concepts like the floating-point number, interpolation, splines, Newton's method, and the Vandermonde matrix.

 cover

Introduction to Algorithms

by
Thomas H. Cormen
Charles E. Leiserson
Ronald L. Rivest
Clifford Stein

A classic book on algorithms which I read in a huge part. Makes a good reference. Contains a great explanation of sorting methods, graph algorithms, and more complex data structures. Some algorithms were for me a bit tough to understand (for example, node insertion in red-black trees), others I still haven't fully mastered (like dynamic programming). Maybe one day... 🙂

 cover

Practical Web Development

by
Paul Wellens

Maybe somewhat surprising in this list, but I found this book incredibly useful to get a high-level view on web development. Whereas a lot of books teach you "dots", like HTML, CSS, JavaScript, or Angular, this book "connects the dots": it presents most of the modern web technologies just a little bit and focuses on how these technologies interact. It gives you the vocabulary and knowledge on what to google for when you want to build a website or a web app. And, unlike many software books, it's short!

 cover

Deep Learning

by
Ian Goodfellow
Yoshua Bengio
Aaron Courville

A great introduction to deep learning written by some of the most cited people in that field. It is not overly long and it is free! I read it in full for my master thesis and I don't regret it; it taught me deep learning from scratch. Highly recommended if you want to apply machine learning to audio. Otherwise, don't read it.


Self-Development Books


Where the books above give you knowledge about things of science, the books below focus on your ability to learn and use them. They have made me a better student, programmer, scientist, entrepreneur, friend; a better person. And I believe they can serve you well too! Let me know in the comments below what would you add to this category 🙂

 cover

Weight Loss for Students & Office Workers

by
Jan Wilczek a.k.a. George Telton

My book on how I lost 16 kg without spending much time, exercise, or money on it. If you want to know what the book is about, watch the summary video on YouTube.

 cover

A Mind for Numbers

by
Barbara Oakley

A must read for anyone who wants to learn well. It is directed specifically towards science students. It's an explanation of how your brain processes knowledge and solves problems. Additionally, it contains tons of testimonials from people who thought couldn't learn anything but eventually succeeded in gaining the desired knowledge. This book allowed me to score 1.0 grade average during my master's degree (the highest one can get in German grading system). Please, read it!

 cover

Deep Work

by
Cal Newport

I could treat this book as my personal work manifesto. When I'm working, I value focus above anything else. This book is not a handbook but more of a praise of focus and its value in the world. Since Cal Newport is a computer scientist, I think every programmer or engineering student will find this book extremely inspiring.

 cover

Getting Things Done

by
David Allen

If you want to know how to handle any project in your life, read this book and just this one. I haven't read any other book on time management and I don't feel the need to. This book just solves the problem. In short: everything in your life is just a list of next steps 😉

 cover

The Power of Habit

by
Charles Duhigg

The book that brought the effectiveness of habits to public attention. It is more of an explanatory book: it shows you how habits work and what can they help you achieve. But if you really want to master habits in your personal life to level up your game, I recommend reading "Atomic Habits".

 cover

Atomic Habits

by
James Clear

This is an incredibly pleasant to read manual to programming your brain. It instructs you incredibly well how to induce good habits in your life and how to eliminate the bad ones. It helped me to improve my health, relationships, and business. Highly recommended.

 cover

Essentialism

by
Greg McKeown

Another book that I would like to make my manifesto (I'm still a non-essentialist unfortunately!). Do you feel like there's too much to do? Do you feel stretched between various responsibilities, hobbies, and relationships? Are you tired of making microscopic steps in thousands of directions? Then read this book. I already did, twice.

 cover

The ONE Thing

by
Gary Keller
Jay Papasan

A little bit similar in topic to "Essentialism", you will find here more concrete advice on how to focus on your ONE thing and make progress. The recurring theme of the two books is that we shouldn't try to do all and please everyone. If you feel guilty about saying no or want to master a certain task, read this book. It's not about doing more!

 cover

The Millionaire Fastlane

by
MJ DeMarco

The best book on how to get rich. After reading a lot of books on the topic of personal finance, I was laughing, when this book tore all of them apart, one by one. Getting rich is not easy but if you want to do it, this is your guide (I belive). If I'm ever a millionaire, I will recommend this book wholeheartedly. Right now, I can only say that it's one of the best from the ones I've read.


Fiction Books


Because everyone needs to chill out 😎

 cover

Harry Potter

by
J. K. Rowling

My favorite book series of all time. I can always go back and read it again. It's also good to read in a foreign language for learning purposes.

 cover

Little Nicholas

by
Rene Goscinny
with illustrations by Jean-Jacques Sempé.

The funniest book series I've ever read. I don't know how they sound in English but in Polish and Spanish they are hilarious.

 cover

Artemis Fowl

by
Eoin Colfer

Books about a genius boy, involving a lot of abstract high-tech gear and programming. Could this have been the book that got me into writing code?

 cover

Dune

by
Frank Herbert

The most impressive science-fiction/fantasy book I've read. Closely behind is "Hyperion" by Dan Simmons. I have put the Polish edition cover here because it's one of the most beautiful book covers I've ever seen.

 cover

Solaris

by
Stanisław Lem

A book that is science fiction only on the surface. Below there's so much more... Like Inception 😉

 cover

The Song of Ice and Fire

by
George R. R. Martin

A great mixture of fantasy and politics... I doubt I need to describe it 😅

Links above may be affiliate links. That means that I may earn a commission if you decide to make a purchase. This does not incur any cost for you. Thank you.

Comments powered by Talkyard.