What Are The Best Tools To Develop VST Plugins & How Are They Made?

What Are The Best Tools To Develop VST Plugins & How Are They Made? | integraudio.com

Understanding how VSTs are made will provide you with insights on how you can make your own VST plugins. Think of VST plugins as an affordable way of making your home studio sound like an expensive commercial studio setup.

I have listed a couple of libraries and frameworks that can handle most of the coding required in developing VST plug-ins.

JUCE Cross-Platform C++ Library

It is supported by the following platforms: OSX, Windows, Linux, iOS, and Android. It is free for non-commercial releases, but the commercial license works our best.  It also covers 64bit systems.

Pricing of its commercial license:

  • Commercial license for a single product – $521
  • Commercial license for any number of products – $912
  • Upgrade from single-product version to unlimited version – $455
    Despite the cost of the license for retail releases, it is the only library/framework option for a 64bit cross-platform.

Watch this video on creating an awesome distortion VST/AU Plug-in using C++ / JUCE Framework.

Audio Processing Tutorial: How To Create an AWESOME Distortion VST/AU Plugin In C++ (JUCE Framework)

 

We also recommend checking this video and the channel as a great source on how to develop audio plugins:

Juce Tutorial 64 - Building Your First Plug-In (2020 Update)

SynthEdit

SynthEdit is a framework and a visual circuit design that allows you to create your own synths with only drag & drop without programming. Therefore giving you the flexibility of using your DSP algorithms inside the modules.

At the time of writing this, the 64-bit version is in Alpha, and its creator Jeff McClintock is working on the ability to exporting it to AU. It’s got a ton of community-produced modules and works great with the 32-bit version. It is soft on your wallet – it goes for $70.

Check out this video of how SynthEdit work:

SynthEdit - Let Make Our First VST Synth Part 01

FL SynthMaker

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.

How Are VST Plugins Made?

You’ll be required to source information from different sources depending on what your specific goals are. For beginners, before learning how to code VST plugins, I would advise you to check out these environments:

  • SynthEdit, SynthMaker, Reaktor, Max/MSP, PureData
  • CSound, SuperCollider, Bidule, Usine

These environments allow you to build something unique without writing low-level code, which most people find difficult to master. You’ll be required to know different areas, and if you already have some, you’ll only be required to fill in the gaps.

Check out this video to learn how to build and design your VST Plugin using C++ and  JUCE framework:

Learn Modern C++ by Building an Audio Plugin (w/ JUCE Framework) - Full Course

Audio Basics

Understanding sound and its properties are essential before embarking on the development of VST plug-ins. I have outlined a couple of online resources you should go through them:

Fundamentals of Digital Audio Processing

The Scientist and Engineer’s Guide to Audio Signal Processing

Discrete-time systems, sampling theorem, audio DSP, maths, sound analysis, and sound modeling:

Signals, Sound, and Sensation by William M. Harmann

The book got an introductory text on psychoacoustics and the readers on a journey through the mathematics of signal and processing from its beginnings.

Programming

Many professional VST plugins available on the market have been written in C++. There are also several other languages you can use, but each got its pros and cons. Learning how to develop VST Plug-ins as you’re learning to program isn’t easy. I usually recommend learning how to program before starting to create VST plug-ins. This book comes highly recommended for those who want to learn audio plug-ins:

The Audio Programming Book by Richard Boulanger

This one shows you how to create a custom synthesize in software using the C++ programming language:

BasicSynth by Daniel Mitchell 

For further information about VST development, you should definitely check these resources:

Audio Software (VST Plugin) Development with Practical Application

JUCE framework for VST-plugin development

Masterclass: Inside the world of plugin development (updated audio)

Maths

You should have some basic engineering mathematics such as linear algebra, complex analysis, among others. Visit this website to get practical algebra lessons: www.purplemath.com.

Digital Signal Processing

You must know what an FFT routine is and why it is useful. Advanced content focusing on audio will usually require you to have at least a conversational level of DSP understanding.

Check out these resources on DSP.

Online and Free:
The Scientist & Engineer’s Guide to Digital Signal Processing

Print:
Understanding Digital Signal Processing by Richard G. Lyons

Audio Digital Signal Processing

Audio DSP extends on core DSP concepts to include the way digital signal processes apply to digital audio. It covers subjects such as audio filters, delays, and non-linear effects; think compression.

DAFX by Udo Zolzer is a book that comes highly recommended and covers many aspects of the audio DSP technique.

Check out these online resources to get more info:

DSP Audio Classics
DSP Audio Algorithm Notes by XOXOS

Below are threads on VST Plug-ins I found from a couple of online discussion forums:

Advice for someone with ZERO experience
Developing a Vst Effect Plugin Where To Start?
What is your development setup?

Books

I have listed some books that can serve as a resource in your pursuit of learning how to make VST plug-ins.

Check them here:

Designing Audio Effect Plug-Ins in C++: With Digital Audio Signal Processing Theory

Designing Software Synthesizer Plug-Ins in C++: For RackAFX, VST3, and Audio Units

Audio Plug-ins frameworks

JUCE

JUCE is a highly recommended and all-encompassing C++ class library for developing cross-platform software. JUCE includes components for VST, AU, and RTAS. You should have at least a basic grasp of JUCE if you intend to use C++ to develop your VST plug-in.

IPlug

This is a C++ framework for developing audio plug-ins and GUIs.

VST.NET

It allows VST Plugin developers to write Plugins in any .NET language.  It also eases the transition between the C++ and .NET world, and its framework built on top of the interop layer provides a clear and structured architecture. Feel free to check this Delphi library for creating VST plugins, VST hosts but also ASIO applications:

Delphi ASIO and VST

It also includes the algorithm for filters and dynamics.

What is the best programming language for the VST plugin?

C++ is one of the best programming languages for creating VST Plug-ins, and the reason for this is that C++ has a wide range of frameworks and libraries that work so well in creating VSTs.

The WDL-OL library makes C++ an attractive programming language for VST plugins because it helps you with the following:

  • 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). It means you don’t technically need a DAW to use the plugin.
  • Most GUI controls are used in audio plugins (knobs, buttons, visuals).
Code-It-Yourself! Sound Synthesizer #1 - Basic Noises

Conclusion

Understanding what VST Plugins are and their role within the music production industry provides you with the knowledge of identifying the most effective tools for your music production outfit. It makes your music sound like it was produced in a million-dollar music studio.

Don`t copy text!
Scroll to Top