Welcome! In this tutorial series we will be learning how to create audio plugins that run as VST, VST3, AU, RTAS, AAX or as a standalone application.
Audio plugins are programs that are loaded into a host software (such as Ableton Live, Logic or REAPER). They process Audio and/or MIDI data and can have a graphical user interface. Here are three examples (U-He Zebra, Sonalksis FreeG and D16 Decimort):
The guitars on the plugin were recorded with two adjustable mic positions, and they were also recorded in both stereo and mono playback modes. You have complete control over these sounds with customizable fret noise, resonance, velocity sensitivity, and more. This VST utilizes automatic doubling with spacing control. W1 Limiter is a clone of the well-known Waves L1 plugin with identical output, as well as an approximation of Waves L2. To achieve this result the developer modified the existent 4Front YLimiter by simplifying the release curve, increasing the release time 3 times, altering the softening circuit filter.
As you can see, the GUI usually contains some controls (the knob being the most common) that change how the plugin processes incoming data. A plugin has presets (in the screenshot they're called Combo and Emulator) that store all knob positions and other values.
We'll start with a simple distortion plugin. After that, we'll create this subtractive synthesizer plugin step by step:
We will use C++ and the WDL-OL library. It is based on Cockos WDL (pronounced whittle). It basically does a lot of work for us, most importantly:
- Ready-made Xcode / Visual Studio Projects
- Create VST, AudioUnit, VST3 and RTAS formats from one codebase: Just choose the plugin format and click run!
- Create 32/64-Bit executables
- Make your plugin run as a standalone Win/Mac application
- Most GUI controls used in audio plugins
It also gives you most GUI controls used in audio plugins, and some commonly used audio algorithms like for example resampling. This forum thread has screenshots of a lot of plugins that were done using WDL.
The different plugin formats all do more or less the same, so normally there would be a lot of copy & paste in your code. As a programmer you want to stay DRY, so sooner or later you'd write an abstraction layer over the different formats. This work has already been done in the form of IPlug, which is a part of WDL. These are the annoying parts of audio plugin development, so we can now focus on the fun stuff, such as:
- How the plugin processes incoming Audio/MIDI
- What the plugin looks like
- How it integrates with the host (automation, presets, etc.)
Another good thing about WDL is its permissive license: You can use it freely for commercial applications. See the links above for details.
How we will do this
The chase is better than the catch.
Download over 2,000 sounds and more than 6 GB of content – drums and percussion, basses, acoustic instruments, synths, pads and atmospheres, and more – plus VST plug-in instruments, effects, and other free resources for music production.
FREE DOWNLOAD
SYNTHS
SAMPLED INSTRUMENTS
EFFECTS
KOMPLETE KONTROL
SAMPLES
KONTAKT PLAYER
REAKTOR PLAYER
HOW TO USE VST PLUGINS
HOW TO USE VST PLUGINS FOR SYNTH SOUNDS
HOW TO USE MULTIPLE VST PLUGINS
DON'T HAVE AN ACCOUNT YET?
DOWNLOAD NATIVE ACCESS (MAC) DOWNLOAD NATIVE ACCESS (WINDOWS)
Learn how to install KOMPLETE START...
Please see the Native Access system requirements.
ALREADY HAVE AN ACCOUNT?
GET KOMPLETE START