TheAudioProgrammer / getting-started-book

MIT License
60 stars 7 forks source link

The Complete Beginner's Guide to Audio Plug-in Development

This is the source code that accompanies the book The Complete Beginner's Guide to Audio Plug-in Development by Matthijs Hollemans, available for purchase from The Audio Programmer as PDF and EPUB.

The book cover

In this 470-page book you'll learn how to make an audio plug-in, also known as a VST — even if you have never written a line of computer code in your life.

This is a tutorial-style book that goes step-by-step and explains everything you need to know along the way. It is written for complete beginners. No prior programming knowledge is required and there is not a lot of math involved.

The goal of this book is to make audio programming accessible to everyone — without requiring a computer science degree, audio engineering degree, or any other qualifications. All you need is a functioning brain, an eagerness to learn, and a little patience. The book does the rest by giving detailed explanations for everything, including as many screenshots and illustrations as possible.

The plug-in that you'll learn to make is a ping-pong delay that can be used in all the popular DAWs such as Logic Pro, Ableton Live, REAPER, FL Studio, Cubase, Bitwig Studio, and others.

The finished plug-in

The plug-in is made using industry standard tools for audio programming: the JUCE framework and the C++ programming language. You'll learn all the fundamentals of writing audio plug-ins, in an easy-to-follow guide that is light on math and heavy on being practical.

How to use this repo

The Resources folder contains images and sound files that you will need to follow along with the book.

For each chapter there is a folder with the finished source code from that chapter. This is useful for verifying that you didn't make any mistakes when typing in the code from the book.

The Finished Project folder contains the completed plug-in in its entirety.

Found a bug or have a question?

First, please check the errata to see if the issue has already been covered.

If not, refer to the list of open issues and submit a new issue if you can't find your question in the list.

Also make sure to join The Audio Programmer community on Discord. This is a great place to chat about all things related to audio programming. You can find me there as matthijs.

Source code license

The book is copyright 2024 The Audio Programmer, all rights reserved.

The source code in this repo is licensed under the terms of the MIT license.

JUCE is copyright © Raw Material Software.

The Lato font is copyright (c) 2010-2014 Łukasz Dziedzic and is licensed under the SIL Open Font License.