DSP theories and basic building blocks.
-
Introduction to Signal Processing, 2nd by Sophocles J. Orfanidis
-
Digital Audio Signal Processing, 3rd by Udo Zölzer
-
Discrete-Time Signal Processing, 3rd by Oppenheimer
-
Hack Audio by Eric Tarr
-
Think DSP
Practical resources for building digital synthesizers.
-
Developing Virtual Synthesizers with VCV Rack by Leonardo Gabrielli
-
Faust factory library and quick reference
-
The Computer Music Tutorial, 2nd by Curtis Roads
-
Computer Music Instruments II: Reatime and Object-Oriented Audio by Victor Lazzarini
-
Numerical Recipes 3rd Edition: The Art of Scientific Computing
- because virtual analog is all about iterative solvers!
- Eigen: C++ linear algebra library
For the foreseeable future C++ is still going to be the dominant language for DSP
-
A tour of C++, 2nd
-
Introduction to Algorithms
-
A philosophy of software design by John Ousterhout
-
CMake
- I find it very important to not be intimidated by CMake because it helps you develop cross-platform C++ software faster. There is no way getting around it.
- Making Embedded Systems, 2nd Edition by Elecia White
- also highly recommend her podcast Embedded FM
I think Cmajor is a super interesting language for audio dsp prototyping.
Faust has a long history and way more maintainers than Cmajor, but I find it difficult to use in production prototyping due to its unique syntax.
- Introduction to Digital Music with Python Programming; Learning Music with Code
- signalflow
Rust is an interesting language for both embedded systems and DSP.
- Working with the Web Audio API
- Victor Lazzarini
- Dr. Kurt James Werner
- Jatin Chowdhury (ChowDSP)
- Prof. Vesa Välimäki
- Julian Parker