Virtual Studio Technology
Virtual Studio Technology (VST) is a software interface that integrates software audio synthesizer and effect plugins with audio editors and recording systems. VST and similar technologies use digital signal processing to simulate traditional recording studio hardware in software. Thousands of plugins exist, both commercial and freeware, and a large number of audio applications support VST under license from its creator, Steinberg.
VST plugins generally run within a digital audio workstation (DAW), to provide additional functionality, though a few standalone plugin hosts exist which support VST. Most VST plugins are either instruments (VSTi) or effects, although other categories exist—for example spectrum analyzers and various meters. VST plugins usually provide a custom graphical user interface that displays controls similar to physical switches and knobs on audio hardware. Some (often older) plugins rely on the host application for their user interface.
VST instruments include software simulation emulations of well-known hardware synthesizers and samplers. These typically emulate the look of the original equipment as well as its sonic characteristics. This lets musicians and recording engineers use virtual versions of devices that otherwise might be difficult and expensive to obtain.
VST instruments receive notes as digital information via MIDI, and output digital audio. Effect plugins receive digital audio and process it through to their outputs. (Some effect plugins also accept MIDI input—for example MIDI sync to modulate the effect in sync with the tempo). MIDI messages can control both instrument and effect plugin parameters. Most host applications can route the audio output from one VST to the audio input of another VST (chaining). For example, output of a VST synthesizer can be sent through a VST reverb effect.
Steinberg released the VST interface specification and SDK in 1996. They released it at the same time as Steinberg Cubase 3.02, which included the first VST format plugins: Espacial (a reverb), Choirus (a chorus effect), Stereo Echo, and Auto-Panner.
Steinberg updated the VST interface specification to version 2.0 in 1999. One addition was the ability for plugins to receive MIDI data. This supported the introduction of Virtual Studio Technology Instrument (VSTi) format plugins. VST Instruments can act as standalone software synthesizers, samplers, or drum machines.
Neon was the first available VST Instrument (included with Cubase VST 3.7). It was a 16-voice, 2-oscillator virtual analog synthesizer. The VST interface specification was updated to version 2.4 in 2006. Changes included the ability to process audio with 64 bit precision.
- Audio Inputs for VST Instruments
- Multiple MIDI inputs/outputs
- Optional SKI (Steinberg Kernel Interface) integration
VST 3.5 came out in February, 2011. Changes included note expression, which provides extensive articulation information in individual note events in a polyphonic arrangement. This supports performance flexibility and a more natural playing feel.
There are three types of VST plugins.
VST instruments generate audio. They are generally either virtual synthesizers or samplers. Many recreate the look and sound of famous hardware synthesizers. Better known VST instruments include Nexus, Sylenth 1, Massive, Omnisphere, FM8, Absynth, Reaktor, Gladiator and Vanguard.
VST effects process rather than generate audio—and perform the same functions as hardware audio processors such as reverbs and phasers. Other monitoring effects provide visual feedback of the input signal without processing the audio. Most hosts allow multiple effects to be chained. Audio monitoring devices such as spectrum analyzers and meters represent audio characteristics (frequency distribution, amplitude, etc.) visually.
VST MIDI effects process MIDI messages (for example, transpose or arpeggiate) and route the MIDI data to other VST instruments or to hardware devices.
Many VST hosts are available. Not all of these support VST 3 plugins.
- Ableton Live
- ACID Pro
- Adobe Audition
- Adobe Premiere Elements
- Adobe Premiere Pro
- Ardour (open source)
- Audacity (open source, VST support works on Windows, Mac OS X and Linux)
- Bitwig Studio
- Cakewalk Sonar
- DaVinci Resolve
- Digital Performer (version 8 or higher)
- FL Studio
- Livetronica Studio
- LMMS (open source)
- Logic Pro
- Magix Music Maker
- Max MSP
- Acoustica Mixcraft
- Merging Technologies Pyramix
- ModPlug Tracker
- n-Track Studio
- PreSonus Studio One
- Psycle (open source)
- Sony Vegas
- Sony Sound Forge
- Sony Acid Pro
- Steinberg Cubase
- Steinberg Nuendo
- Steinberg Wavelab
- WavePad Audio Editor Software
- Vinyl Lab
Stand-alone dedicated hosts provide a host environment for VST plugins rather than use the plugins to extend their own capabilities. These are usually optimized for live performance use, with features like fast song configuration switching.
VST plugins can be hosted in incompatible environments using a translation layer, or shim. For example, FL Studio only supports its own internal plugin architecture, but an available native "wrapper" loads VST plugins, among others. FXpansion offers a VST to RTAS (Real Time AudioSuite) wrapper that lets VST plugins run in Pro Tools, and a VST to Audio Units wrapper lets VST plugins run in Logic Pro.
Hardware VST hosts can load special versions of VST plugins. These units are portable and usable without a computer, though some of them require a computer for editing. Other hardware options include PCI/PCIe cards designed for audio processing, which take over audio processing from the computer's CPU and free up RAM.
Some hardware hosts accept VSTs and VSTis, and either run Windows-compatible music applications like Cubase, Live, Pro Tools, Logic etc., or run their own DAW. Other are VST Hosts only, and require a separate DAW application. Origin from Arturia is a hardware DSP system that houses several VST software synthesizers in one machine, like Jupiter 50/80 from Roland. Using appropriate software, audio data can also be sent over a network, so the main host runs on one computer, and VST plugins on peripheral machines.
Main VST host specification
The measurable Key Performance Indicators (KPI) for hardware (or software) VST hosts for live, on-stage, application are:
- Low warm-up time
- Low time to switch between instruments, banks, patches, presets
- Low audio latency (less than 5 ms)
- Good sound quality (sample rate, high signal to noise ratio, etc.)
- Low CPU use
- Sufficient memory capacity
VST plugin standard
The VST plugin standard is the audio plugin standard created by Steinberg to allow any third party developers to create VST plugins for use within VST host applications. VST requires separate installations for Windows, Mac OS X and Linux. The majority of VST plugins are available for Windows only due to Apple's competing proprietary Audio Unit technology being used on OS X (Audio Units is a core part of the OS X operating system). The lack of a commercial environment for Linux means few developers target this platform.
VST plugins often have many controls, and therefore need a method of managing presets (sets of control settings).
Steinberg Cubase VST introduced two file formats for storing presets: an FXP file stores a single preset, while an FXB file stores a whole bank of presets. These formats have since been adopted by many other VST hosts, although Cubase itself switched to a new system of preset management with Cubase 4.0.
Many VST plugins have their own method of loading and saving presets, which do not necessarily use the standard FXP/FXB formats.
- Apple's Audio Units
- Avid's Avid Audio eXtension
- Digidesign's Real Time AudioSuite
- Digidesign's TDM
- LADSPA, DSSI for Linux
- LV2, a cross-platform, open source, liberally licensed audio plugin standard
- Microsoft's DirectX plugin
- Mark of the Unicorn's Motu Audio System
- JACK Audio Connection Kit, an open source sound server allowing flexible audio routing between apps
- Propellerhead's Rack Extensions
- Clap, a cross-platform plugin interface distribute under the MIT license, includes demo host and synthesizer
Steinberg's VST SDK is a set of C++ classes based around an underlying C API. The SDK can be downloaded from their website.
There are several ports available, such as a Delphi version by Frederic Vanmol, a Java version from the jVSTwRapper project at Sourceforge, and two .NET versions – Noise and VST.NET; this open source project also includes a framework that makes creating VST plugins easier and result in more structured code. VST.NET also provides support for writing managed host applications with a managed class that allows loading an unmanaged Plugin. A notable language supporting VST is Faust considering that it is especially made for making signal processing plugins, often producing code faster than hand-written C++.
In addition, Steinberg have developed the VST GUI, which is another set of C++ classes, which can be used to build a graphical interface. There are classes for buttons, sliders and displays etc. Note that these are low level C++ classes and the look and feel still have to be created by the plugin manufacturer. VST GUI is part of the VST SDK and is also available as sourceforge project in http://sourceforge.net/projects/vstgui .
A large number of commercial and open-source VSTs are written using the Juce C++ framework instead of direct calls to the VST SDK, because this allows multi-format (VST, AudioUnit and Real Time AudioSuite) binaries to be built from a single codebase.
- Software synthesizer
- Digital audio workstation
- LADSPA and LV2, similar open source standards.
- Audio Units, a similar standard by Apple Inc..
- Piano roll
- SynthEdit, a VST/VSTi editor.
- Software effect processor
- Virtual piano
- List of music software
- Steinberg Cubase 3 (article), Sound on sound, Jul 1996.
- Cubase 3.7 (article), Sound on sound, Sep 1999
- KVR audio.
- News, KVR audio.
- VST 3.5 a milestone in VST development (News), Steinberg, 2011-02-10.
- SDK for VST 2 software interface discontinued (News), Steinberg, 2013-12-09
- VST plug-ins
- VST, Axi world.
- jVSTwRapper, Source forge.
- Noise, Google code.
- VST.Net, Codeplex.