How To Program Vst Plugins
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.
- How To Program Vst Plugins For Beginners
- Programming Vst Plugins
- New Free Vst Plugins
- What Is A Vst Plugin
- How To Use Vsts
- How To Program Vst Plugins Download
Type of plugin: VSTi. What it does: This virtual analog synth was inspired by the Clavia Nord. Virtual Studio Technology (VST) is an audio-plugin that integrates a software synthesizer or effect with, most commonly, a digital audio workstation like Ableton. External plugins can increase the.
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:
Csound is often referred to as a sound compiler. A compiler is a software that takes textual instructions in the form of source code and converts them into object code. This object code then gets converted into some kind of executable binary in the form of a computer program. 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. Once you’ve installed winrar you’re next job is to locate your VST folder, if you’ve installed Cubase then it’s almost definitely C:Program FilesSteinbergVstplugins Go to my computer, click on C: drive and navigate to that folder and see.
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.
How we will do this
The chase is better than the catch.
How to Manage VST Plug-Ins with Windows
The way you install your plug-ins can help determine how easy they are to use
by Craig Anderton
How To Program Vst Plugins For Beginners
You’ve blown your budget on some kick-ass plug-ins, both processors and instruments, and downloaded scores of public domain goodies from the interwebz. Face it: you have a bad case of plug-initis.
Programming Vst Plugins
But as the number of plug-ins increases, watch out. Some plug-ins are incompatible with certain programs or systems. Or, a program that used to work fine might hang whenever it tries to load a new plug-in—so you can’t open the program to tell it to ignore the problematic plug. And for some reason, that tempo-synched delay simply refuses to sync . . .
Before matters get out of hand, let’s look at how to raise well-behaved plug-ins. We’ll concentrate on the VST format, but also give a nod to the DirectX plug-ins. I call DirectX a “zombie format” because new development ceased a long time ago after Microsoft lost interest, but they remain relevant and are supported by Sony, Cakewalk, Acoustica, and others.
CALLING ALL PLUG-INS
VST plug-ins usually reside in a folder called (surprise!) “Vstplugins.” Ideally, you should keep all your VST plug-ins in one folder. If you have multiple programs that support VST plug-ins, point them to this one folder. Usually you can specify a folder where a program should install its plug-ins during the installation process, or via a Preferences or Options page where you can specify the folder’s path.
Because some program’s plug-ins will work with other programs, you might want to specify C:Program FilesCommon Files as an appropriate location to install common shared executable content like plug-ins. For example, C:Program FilesCommon FilesVST3 can be a suitable location for VST3 files; some vendors (including Celemony) put plug-ins in C:Program FilesCommon FilesVST2.
Some programs will instead insist on installing their own plug-ins folder, and reference that. You may be able to simply drag a plug-in from that folder to your main folder, but that doesn’t always work. Move the plug-in, tell your program not to scan the original folder, and see if the program recognizes the plug-in in your main folder. If so, you should be okay but there may also be presets and other elements scattered around. Often, it’s best just to leave any installed folders (Fig. 1), and include them in the scan path. (Also, do a search on “vstplugins”—you might be surprised at how many folders you unearth.)
Fig. 1: In Live’s Preferences menu, like most other hosts, you can specify a path to the VST plug-in folder. Clicking on the browse button can change the path from the default folder.
DirectX plugs can live anywhere, because installing them registers them in the scary Windows Registry. However, you may not know exactly where they are, which can be a hassle if you want to uninstall a troublesome plug-in and there’s no obvious uninstall routine. If you’re a Cakewalk SONAR user, the Plug-In Manager lists your DX plug-ins and shows their file paths, file names, and registry keys; it can also import, export, and manage (delete, rename) plug-in presets.
WHEN GOOD PLUGS GO BAD
Many programs that host plug-ins scan and initialize them when launched. Often there will be a “status line” that shows each plug’s name as it’s being scanned. Sometimes, though, the program will “freeze” at a particular plug-in.
Don’t panic! Like other software, first check for updates on the web, especially if you’ve changed operating systems. Sometimes that alone fixes the problem. If it doesn’t, with a VST host, look at the status line. If it’s stuck on a plug-in name, 99% of the time that will be the plug-in causing the problem. Reboot, go to the Vstplugins folder, then drag the plug-in out of the folder. Now re-launch the program. This time, it won’t hang at the plug-in because the plug-in isn’t there. Hopefully, the program will load completely but if it hangs on another plug-in, remove it too.
/free-vocal-delay-vst.html. After the program loads successfully, quit the program, then drag one of the plug-ins back into the Vstplugins folder and re-launch the program. Often times, the plug-in will now be recognized. Repeat for all the plug-ins you removed. If the program still hangs at a particular plug-in, try re-booting and re-launching. If a problem remains after a few reboots/re-launches, the plug-in may simply be incompatible.
If a particular program is allergic to certain plug-ins, you can:
- Create a separate plug-ins folder, drag over copies of all the plug-ins known to work with the program (or re-install if needed), and point the program to this folder.
- Disable problematic plug-ins from within the program. For example, Steinberg Wavelab has an Organize Master Section Plug-Ins function under the Options menu where you can “turn off” plug-ins (Fig. 2).
Fig. 2: Wavelab’s plug-in organizer can enable and disable specific plug-ins; it also provides some information about them.
This problem seems less common with DirectX, but if a DX host program hangs on launch while scanning plug-ins, close it and launch again. In almost every time this has happened to me, running the program a couple of times will eventually recognize all the plug-ins. With some programs, you can create different plug-in layouts so that, for example, you could create a set that excludes all DirectX plug-ins (Fig. 3).
New Free Vst Plugins
Fig. 3: SONAR’s plug-in manager lets you enable or exclude plug-ins. It also furnishes path and registry information, allows exchanging plug-in presets with other SONAR users, and lets you create “layouts” for particular plug-ins—for example, you can create one with only 64-bit plug-ins, and another with particular collections of plug-ins.
32-BIT PLUG-INS IN A 64-BIT WORLD
People often ask if their favorite 32-bit plug-ins will work with 64-bit programs. The answer is a definitive..maybe. Live vst plugins. There are two popular “wrappers,” BitBridge and JBridge, which allow 32-bit plug-ins to work in 64-bit systems. It’s amazing they work at all, but do note that some plug-ins simply will not play nice. Also, some users report one program being able to wrap some plug-ins while the other one can’t, so it is somewhat hit-or-miss. It’s highly recommended that if you’re running a 64-bit DAW with a 64-bit OS that you use true 64-bit plug-ins, but that said, these utilities can extend the life of your 32-bit plug-ins while you wait for 64-bit versions to arrive..assuming they ever do, of course.
What Is A Vst Plugin
Bear in mind that plug-in bridging can make some systems less stable. This isn’t really the fault of the bridge software, but the result of trying to do something that stretches the boundaries of compatibility.
LEAN AND FRESH
If you don’t use a plug-in, remove it from your system (for VST, uinstall or if that's not possible, drag to a different folder or delete; for DirectX, use the uninstall routine). Although plug-ins tend to be pretty solid, fewer plug-ins mean less scanning time when a program launches, and a tidier selection process.
How To Use Vsts
Okay! Now go weed out the clutter and refresh your plug-ins—your system will thank you for it. -HC-
______________________________________________
How To Program Vst Plugins Download
Craig Anderton is Editorial Director of Harmony Central. He has played on, mixed, or produced over 20 major label releases (as well as mastered over a hundred tracks for various musicians), and written over a thousand articles for magazines like Guitar Player, Keyboard, Sound on Sound (UK), and Sound + Recording (Germany). He has also lectured on technology and the arts in 38 states, 10 countries, and three languages.