- SynthEdit is the only save-as designer with C plug-in modules. These are extra functions you can download and add on later. Unlike restrictive built-in code features, or tedious low-level building blocks. C is the language professionals use to write high-performance audio code. There's over 1000 add-on modules for you to explore and master.
- This plugin is a “snapin”. That means you can use it as a regular VST/AU plugin, or you can use it with our snapin hosts Multipass and Snap Heap where you can combine effects in amazing ways. System Requirements. These are the minimum recommended system requirements for running snapins. CPU: 2 GHz or faster; Memory: 1 GB or more; Operating.
For quick prototyping C# is a great language. For highly optimized real-time audio processing C++ is the better choice. Nevertheless I wanted C# as the language for my custom VST host (often called DAW) because of the relatively quick development time and the large number of libraries that I could use. C# offers support for unmanaged code with which you can still use pointers to process audio in a relatively efficient way.
VST plugins
I used VST.NET (https://github.com/obiwanjacobi/vst.net) to load the VST plugins, write midi messages to it and get the audio buffer. The guy who wrote this stuff has put some serious time and development effort in it for which I am very grateful. The only downside is that plugin processing runs from a single dispatched thread. That means that all simultaneous VST's that run in my host are processed from that single thread. I think that the bigger VST's handle their own threading and this is not a problem, but when you are using VST's that only run on the thread from which they are called, this is a serious downside. This problem is discussed in the forums and no solution exists.
How to compile a plugin (VST 1 and 2) - For making VST plugins in CBuilder, first you need the VST sdk by Steinberg. It's available from the Yvan Grabit's site (the link is at the top of the page). It's available from the Yvan Grabit's site (the link is at the top of the page).
I will keep my eye open for other VST host libraries written in C++, and am probably going to rewrite the whole audio processing in pure C++ and keep the GUI layer in C#. Nevertheless I am very pleased with the current performance of my software. I am able to run four heavy plugins simultaneously at a buffer size of 128 samples. Often I can use some more medium weight plugins and use all 8 channels. Effect plugins are also supported. I tested it briefly and it is basically working, but I consider it to be still under development.
ASIO
For Asio handling I tested both BlueWave.Interop.Asio (https://www.codeproject.com/Articles/24536/Low-Latency-Audio-using-ASIO-Drivers-in-NET?msg=4526889) and NAudio. Both work fine, but the BlueWave performed better to my opinion. I say this with care because it could very well be the same code base. I haven't looked into the code behind the NAudio asio handling. The BlueWave project had a small bug with did not terminate the ASIO driver correctly at shutdown. This resulted in having to reboot every single time after shutting down a debug session in order to get the audio to work again. After I got tired of doing so, I decided to fix the bug. The updated source is on my github.
MIDI
For MIDI input from my Nord and an Arturia Beatstep, I tried to use midi-dot-net (https://code.google.com/archive/p/midi-dot-net/). Unfortunately the Juli@ does not support kernel32 winmm.dll midi! The only way I could get MIDI in and output was to use DirectMusic midi. For that I used DirectMidi.net (http://directmidinet.sourceforge.net).
UI controls
Most of the UI controls I have written myself. The ringslider above the physical encoder was one that was very specific. Also the scroll-list operated by the main menu encoder I build myself.
Hardware monitor
To monitor the CPU temperature I used OpenHardwareMonitor (https://openhardwaremonitor.org) which continuously displays the temperature in the main screen. When installing the CPU cooler I damaged the bearings and decided to just remove the power from the CPU cooler. Amazingly it always runs cool. Possibly beacuse of the airflow through the case. But because of this I wanted to see the CPU temperature at the main screen.
PDF Viewer
Sheet music in PDF format can be added to a song (bank). I use PDFViewer from https://www.codeproject.com/Articles/37458/PDF-Viewer-Control-Without-Acrobat-Reader-Installe to to display it.
Smooth instrument transition
I personally find this the most interesting part to write, because I came up with a unique musical feature that I haven't found in other DAW software for live usage. When a channel is enabled, the button is illuminated blue. When the button is pressed the state of the channel goes to 'pending disable' . The sound does not directly go away but keeps on going as long as the keys or sustain pedal remain pressed. New keys will not play on the 'pending disabled' channel. Once all the active keys are released the channel state goes to 'Disabled'. In this way you can very fluently change between different sounds. I recently found out that the latest Nord Stage3 also has this feature, but hey it cannot run VST's :)
Other features
I'll just name a few other interesting features I implemented:
- Synchronized backingtrack + clicktrack with bpm midi clock (2x additional stereo out). In this way I can play synth arpeggio’s when a backingtrack and clicktrack is running.
- Midi active keyzone per channel.
- Transpose per channel.
- Foot controller selection per channel; volume, expression or none.
- Midi channel per (instrument) channel. I needed this since I started using a 2nd keyboard.
- Setlist editor.
- Metronome based on high resolution media timer.
- Recording & playback of audio output in MP3 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.
Think of VST plugins as an affordable way of making your home studio sound like an expensive commercial studio setup.
- 10 Best Opto Compressor Plugins (VST,AU,AAX) For Transparent Sound
- The 15 Best Delay Plugins For Mixing (VST, AU, AAX)
- The 33 Best WAVES Plugins Of 2020
- 29 Best Sound Design VST Plugins In 2020
- 17 Best Free EQ VST Plugins
What are the Best Tools to Develop VST Plug-ins?
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 how to create an awesome distortion VST/AU Plug-in using C++ / JUCE Framework
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 – goes for $70.
Check out this video how SynthEdit work –
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 for 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 having to write low-level code which most people find difficult to master. You’ll be required to know different areas, and if you already have some, then you’ll only require to fill in the gaps.
Check out this video to learn how to build and design your VST Plugin using JUCE
Vsts Microsoft
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, psychoacoustics, 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.
- 6 Best Passive EQ VST Plugins of 2020 (SPL, UAD, Waves, IK Multimedia)
- Top 6 Spectrum Analyzer Plugins Of 2020 – Spectral Analysis Tools
- 37 Best FREE VST Compressor Plugins For Mixing & Mastering
- 11 Best Granulizer Plugins 2020 for a Future Sound Design
- 10 Best Noise Gate Plugins (VST,AU, AAX) of 2020
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 their 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.
The Audio Programming Book by Richard Boulanger – This book comes highly recommended for those who want to learn audio plug-ins.
BasicSynth by Daniel Mitchell – This one shows you how to create a custom synthesize in software using C++ programming language.
For more 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
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 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 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++ for the development of 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 provide 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.
Free Vst Plugins Download Windows 10
- The 6 Best Ring Modulator VST Plugins in 2020 | KiloHearts, Melda
- 7 Best Vari-Mu Compressor Plugins of 2020 | Arturia, Manley, IK Multimedia
- 7 Best Autopan VST Plugins 2020 | CableGuys, Melda, Waves, Soundtoys
- The 6 Best Frequency Shifter VST Plugins Of 2020
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. Read more What’s the Best Way How To learn C++?
The WDL-OL library makes C++ an attractive programming language for VST plugins because it helps you with the following:
Vst Plugins For Fl Studio
- 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 used in audio plugins (knobs, buttons, visuals).
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.