Awesome
Awesome Audio DSP
My curated list of audio DSP (digital signal processing) and plugin development resources. New resources may be added in the future. Feel free to open a PR if you wish!
- Code Libraries - A list of useful libraries for audio software.
- DSP Cookbooks - A list of algorithms and equations you can use and reference for your own DSP designs.
- DSP Playgrounds - Software tools that are useful for quickly and easily prototyping DSP.
- Electronics & Embedded - Resources for developing analog and embedded hardware systems.
- Forums - A list of audio-development-related forums you can join.
- Free Online Textbooks & Courses - A list of free online textbooks and courses on audio DSP.
- Graphic Design and UX - A list of resources to aid in the design of plugin GUIs.
- Machine Learning - Resources on using this powerful emerging technology for audio DSP.
- Mathematics - Learning resources and tools for the mathematics of audio DSP.
- More Lists - Here I'll link curated lists of resources that others have made.
- Open Source Plugins & Software - A list of open source audio software that you can inspect and learn from.
- Paid Textbooks - A list of non-free textbooks on audio DSP.
- Plugin APIs - A list of audio plugin APIs/specs along with their pros and cons.
- Plugin Development Frameworks - A list of software stacks/frameworks used to make audio plugins with/without GUIs, along with their pros and cons.
- Programming Languages - A list of programming languages used to make audio software, along with their pros and cons.
- Software Optimization - Tips and tools for optimizing audio software.
- Audio Software Optimization Tips - My own list of audio software optimization tips.
- Sound Design & Music Production - While this is not strictly development related, knowing how plugins are actually used to make and edit sound can give valuable insight.
- System Tools - A list of system tools useful in developing audio plugins and software.
- Technical Reading - A list of useful articles, blogs, and scientific papers on algorithms and techniques for audio DSP.
"If I'm a total noob, where should I start?"
- Designing Software Synthesizer Plug-Ins in C++ and Designing Audio Effect Plugins in C++ by Will Pirkle
- These textbooks are a common recommendation for beginners.
- The synthesizer one is better than the effect one imo, so go for that if you plan on only buying one.
- ISBN-10: 0367510480 and 1138591939, ISBN-13: 978-0367510480 and 978-1138591936
- projet μ by Yü Fang
- A great free online course that teaches the basics of DSP from scratch using the C programming language. It's my personal go-to recommendation to beginners.
- Does a great job of explaining concepts in code, along with helpful graphics.
- Requires some knowledge of complex numbers and basic integral calculus. (There's really no way around this if you're learning DSP). It is also very Linux-focused, but the course can still be done using Windows or MacOS.
- Think DSP - A great free online book that teaches many fundamental DSP concepts using Python.
I often get asked about beginner-friendly DSP learning resources which focus on the Rust programming language. Unfortunately there isn't really anything out there. I would suggest learning DSP in another language first and then translating that knowledge to Rust later. The choice of language doesn't really matter that much for learning DSP, the main difference comes when it's time to create full applications/plugins around your DSP code.