- SharpSoundDevice is a library that allows you to develop VST-compatible plugins (or 'devices') using.NET. A plugin developer can reference the SharpSoundDevice.dll assembly, develop a plugin that implmenents the IAudioDevice interface and load it in any VST 2.4 -compatible host, without having to touch any native code.
- Get inspired by the best virtual instruments, new VSTs, and award-winning sample libraries. From Hollywood composers to bedroom producers, musicians around the world use these virtual instruments to push the envelope of music production. And the best is that they’re all VST instruments — but also support AU and AAX in nearly any DAW.
- FL SynthMaker aka flowstone comes free with FL studio. It has a straightforward drag-and-drop graphical interface and a wide range of components. You can use it to code modules and DSP in Ruby and comes with loads of examples to get started quickly and its ability to assist you in creating a prototype within a short time is a plus.
I would like to write some code to host VST plugins in my C application. It looks like the JUCE library may be helpful for this. Does anyone know where I can find a tutorial on how to host and connect together VST plugins in JUCE? I've built the JUCE code and got the 'Plugin Host' sample working.
No matter what your skill level is, there is a way for you to make your own audio plugin.
In this article, I’ll be sharing multiple ways for you to start developing your own audio plugins in no time.
Ways to make a VST plugin:
Drag-And-Drop Plugin Makers
A plugin maker will take all, if not most, of the coding out of making an audio plugin. Synth makers are especially useful for prototyping.
Coding a plugin will involve downloading a special sdk for VST development. This is how all the big names in the audio plugin industry make their plugins.
If you want to learn how to develop any type of effect imaginable, I highly recommend this book. It teaches you how to develop plugins in C++ and comes with A TON of example code for professional plugins. It is written very well and makes a huge effort to stand out from the other programming books.
I believe the book is well worth the price. It’s the only resource you’ll ever need to learn how to code plugins.
You don’t even need a full understanding of c++! This book starts at the very beginning and works it’s way up to more advanced material. I’d rate this book a 10/10 any day!
At least give it a look and read some of it’s reviews. It is an extremely helpful resource.
If you are leaning more towards creating software instruments, this book might be more your speed.
It is by the exact same author, Will Pirkle, and offers a ton of great information for you to get started.
This has to be the most well known program for creating audio plugins on the fly. It is a lot more simple to jump into than writing code and is very understandable.
Keep in mind there is no mac version.
You can export plugins so they run on mac just not use the SynthEdit program.
Flowstone was Formerly known as Synth Maker. Flowstone allows you to create a virtual synth visually and then add code to create more advanced plugins. What stands out with this plugin is the design and intuitiveness. There are many features to this software including the ability to “connect to the outside world”. That means that you can connect to external hardware including any usb device.
3. Reaktor 5
Reactor is an audio plugin that allows you to make audio plugins. Reaktor is almost like a giant plugin library within a plugin. Many producers use this as an easier way to publish quality synths instead of having to learn how to program synths all buy themselves.
You might also like: Best free and paid VST Plugins
Programming a synth, or plugin, will most likely be a very steep learning curve if you have never programmed before.
There are many different ways to code plugins. I will be sharing 4 different ways to get started.
The most popular way to code is with C++. Most plugins nowadays are coded that way.
1. Using C++ and Visual studio
C++ is a language a lot of people choose to learn. It is used in most commercial software. It can be a bit tricky to learn so make sure you get the basics down before you try building a VST plugin with it.
2. Using Java:
I love Java because it is fairly simple to get into. Maybe it is just me, but when I started learning Java, it felt easier and more natural than other programming Languages.
3. Using Ruby:
I have never used ruby, but I heard it was a really simplified programming language. I found out that there is an add-on for Ruby called Opaz-Plugdk. It allows the creation of vst plugins in Ruby. I couldn’t find too much info on this, but I’m sure if you dig deep enough you could find some helpful sites.
4. Using C++ in Xcode:
This or Java is the way to go if you are on a mac. The information I found was once again from teragonaudio. They seem to have a lot of good info on plugin development, so defiantly check them out.
Previous:Turn any Cheap Keyboard into a Midi Keyboard
Next:How to Build a Midi Controller with the Brain Jr.
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:
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.
Vst Plugin Example Code Pdf
How we will do this
The chase is better than the catch.