I wrote soundpipe to be a collection of usable DSP algorithms that could be easily dropped into projects. Daisy ported some of them to C++ in their DaisySP library. The code for each DSP algorithm is usually fairly self-contained and I’ve found them to be useful reference implementations.
Julius Smith (one of the co-creators of the coursera DSP course) is a professor at CCRMA and his website has many great audio DSP goodies available online, including his textbooks he uses for his classes.
Mathematics of the DFT is a book all about the DFT (the underlying mathematic process that the FFT algorithm does) and introduction to spectrum analysis. This is the textbook used in the CCRMA 320a course. I found that the first few chapters in this book pair really well with the first few chapters in Musimathics, Vol 2 by Gareth Loy. This book is designed to be an introductory book for STEMy people as well as musicians and artists without a strong STEM background. You don’t really need anything more than highschool trig. Julius has a pretty dense writing style, so it’s easy to get lost, especially in the later chapters. Julius has mentioned that he tries to use as many terms in his book as possible to get students used to the inconsistent terminology used in the literature. The last half of the book is all supplementary material, which can be consumed optionally and out of order. The first half is a relatively linear read. Though it (really really really) may not feel like it at the time, the problem sets at the end of each chapter are there to help you
Introduction to Digital Filters is well… an introduction to digital filters, filter design, as well as some filter analysis. This is the textbook used in CCRMA’s 320b course. It’s a thicker book than the MDFT, and I’ve heard one person once describe it as a “little more off the rails”. Indeed, I would agree that the organization of this textbook is a bit more jumbled. One of the eariler chapters, either the simplest lowpass filter or Analysis of a Digital Comb Filter used to exist as a standalone thing for musicians learning about audio DSP. This book may have a teeny weeny bit of calculus in it, but I do not remember. I remember this book being more difficult to dive into, but also being way more practical As a musician/composer I use filters way more than FFTs, so there was a lot of helpful information. This book (and the 320b) course was where I learned about things like transfer functions, biquads, and BLTs, which made the filter code in C I was looking at before make a lot more sense. Oh, there’s also a bunch of sample code in here, which is neat to look at.
I attempted to read some of the Physical Audio Digital Signal Processing, and even audited the class, but did not get far. Perhaps I’ll try again at some point. This is a (physically) massive book, intended for an advanced audience (aka not me). Considering that physical modeling is Julius’s speciality, I would not be surprised if this book were the best most comprehensive text on the subject. This book definitely gets into some calculus (solving ODEs + PDEs), and as you’d expect, there’s a fair bit of physics covered in this book as well. Like many of his textbooks, you can split this book in half between the textbook itself (numbered chapters), and a massive amount of supplementary material (alphabetical sections). Lots of interesting tidbits.
I can say the least about Spectral Audio Signal processing, as I don’t own a physical copy and have not tried to read it. I do know that the book builds on the ideas covered in the first MDFT book. Definitely intended for a graduate-level audience. That’s all I can say on this one.
It’s worth noting that Julius is a huge FAUST evangelist, and has contributed a LOT to the FAUST standard library. It’s worth looking around the FAUST library documentation. Not only is there a treasure trove of ready-to-use physical model and filter implementations, but algorithms are usually lovingly commented and full of relevant supplementary links and source citations.