This guide only covers building VST 2.x plugins, as the VST3 SDK is not very widely supported yet. Note that Steinberg’s website is a bit confusing and it is easy to accidentally download the wrong version of the SDK, so double-check to make sure that you have the 2.4 SDK.
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):
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:
- 'A Robust construction kit for building synths, samplers, and effects.' - Dennis Miller, Electronic Musician. VST plugins made yourself. No programming, drag and drop components in a powerful fully modular environment. Connect them your way. Why wait?, check out the Free Demo, try a free bassline synth.
- Work with musicbyLUKAS: Resources ⬇️. Presets: Mixing & Mastering: https://www.teammbl.c.
- Go to the product page of the plugin you want to download; Click ‘download’ the appropriate version of the plugin (most will provide separate download buttons for Windows and Mac).TIP: Most VST plugin creators will offer a free trial version. I highly recommend going with that first before purchasing.
- Place VST plugin.dlls into /usr/local/lib/vst folder. I hope this helps, but I can’t take complete credit for thisI found a guide online from somewhere (don’t know the source), changed a few things, and this is what I ended up withhopefully there are no typos, but if something doesn’t work, let me know and I’ll take a look.
- I wrote up a HOWTO for VST development on C with Visual Studio awhile back which details the steps necessary to create a basic plugin for the Windows platform (the Mac version of this article is forthcoming). On Windows, a VST plugin is just a normal DLL, but there are a number of 'gotchas', and you need to build the plugin using some specific compiler/linker switches or else it won't be.
- Writing VST plugins is a lot of fun, but it’s even more fun to write your own host which uses the wide variety of plugins already out there to do something original and new.
We will use C++ and the WDL-OLGuitar tuner vst 64-bit free. 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. /free-metal-drum-vst-plugins.html. 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:
Programming Vst Plugins
- 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
Writing Vst Plugins
The chase is better than the catch.