Virtual Studio Technology


Virtual Studio Technology is an audio plug-in software interface that integrates software synthesizers and effects units into digital audio workstations. 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 many audio applications support VST under license from its creator, Steinberg.

Overview

VST plugins generally run within a digital audio workstation, to provide additional functionality, though a few standalone plugin hosts exist which support VST. Most VST plugins are either instruments 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 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.. 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. For example, output of a VST synthesizer can be sent through a VST reverb effect.

History

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, Choirus, 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 format plugins. VST Instruments can act as standalone software synthesizers, samplers, or drum machines.
Neon was the first available VST Instrument. It was a 16-voice, 2-oscillator virtual analog synthesizer.
In 2006, the VST interface specification was updated to version 2.4. Changes included the ability to process audio with 64-bit precision. A free-software replacement was developed for LMMS that would be used later by other free-software projects.
VST 3.0 came out in 2008. Changes included:
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. According to Steinberg, this supports performance flexibility and a more natural playing feel.
In October 2011, Celemony Software and PreSonus released Audio Random Access, an extension for audio plug-in interfaces, such as VST, allowing greater integration between audio plug-ins and DAW software.
In September, 2013, Steinberg discontinued maintenance of the VST 2 SDK. In December, Steinberg stopped distributing the SDK. The higher versions are continued.
VST 3.6.7 came out in March, 2017. It includes a preview version of VST3 for Linux platform, the VST3 part of the SDK gets a dual license: "Proprietary Steinberg VST3" or the "Open-source GPLv3".
As VSTi virtual instrument technology was under development at Steinberg, a platform for virtual instruments using DirectX engine technology was being developed by Cakewalk, famous for its Sonar DAW. However, the format did not gain much acceptance beyond instruments bundled with SONAR. Currently, almost all virtual instruments on the market use Steinberg's VSTi format.

VST plugins

There are three types of VST plugins:
A VST host is a software application or hardware device that VST plugins run under. The host application presents the plugin UIs and routes digital audio and MIDI to and from the plugins.

Software

Many VST hosts are available. Not all of these support VST 3 plugins.
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 wrapper that lets VST plugins run in Pro Tools, and a VST-to-Audio Units wrapper lets VST plugins run in Logic Pro.

Hardware

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.

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. The short history of commercial environments for Linux means few developers have targeted this platform.

Presets

VST plugins often have many controls, and therefore need a method of managing presets.
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.

Competing technologies

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.
Many 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 binaries to be built from a single codebase.