Programming Vst Plugins

Posted By admin On 24.12.20

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.

Programming Vst Plugins

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.

  1. Therefore, to output the sound generated by a VST plugin to your keyboard, your keyboard should have an Audio In jack. You can then connect your computer’s Headphone jack to the keyboard’s Audio In jack using a simple 1/8″ male to 1/8″ male TRS stereo cable (you may need an adapter or a different cable if your keyboard/computer has a 1.
  2. Creating multiple formats (VST, AudioUnit, VST3 and RTAS) from one codebase: Just choose the plugin format and click “run”. Create both 32-Bit and 64-Bit executables. Run your plugin as a standalone application (Windows or Mac). This means you don’t technically need a DAW to use the plugin.

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:

Programming Vst Plugins

A compatible VST host program that supports VST3 format. Mac OS 10.10.5 to 10.14 as required by your host. VST2 (64-bit only) A compatible VST host program that supports VST2 format. Mac OS 10.10.5 to 10.14 as required by your host. Audio Units (64-bit only) A compatible host program that supports the AU format. Virtual studio technology (VST) is an audio plug-in software interface that integrates a software synthesizer and effects into digital audio workstations. It uses digital signal processing to simulate a traditional recording studio’s hardware in software. There are both commercial and freeware versions of VST plug-ins available in the market. 32-bit plug-ins on 64-bit Windows: C: Program Files (x86) Common Files VST2. Any other folder your VST host application is scanning during startup by default is also suitable. But, to keep plug-in installations independent from a specific VST host release, never install plug-ins into the program folder of the VST host application or any other.

  • 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:

Programming Vst Plugins Free

  • 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. /gate-plugin-vst-mac.html.

Programming Vst Plugins

How we will do this

Vst Plugins Programming Language

The chase is better than the catch.