Virtual Studio Technology

From Wikipedia, the free encyclopedia
  (Redirected from VST Plugin)
Jump to: navigation, search
For the television term, see Virtual studio.

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.

Overview[edit]

VST plugins generally run within a digital audio workstation (DAW), to provide additional functionality. 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.

History[edit]

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.[1]

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.[2]

Neon[3] was the first available VST Instrument (included with Cubase VST 3.7). It was a 16-voice, 2-oscillator virtual analog synthesizer.[2] The VST interface specification was updated to version 2.4 in 2006. Changes included the ability to process audio with 64 bit precision.[4]

VST 3.0 came out in 2008. Changes included:[5]

  • 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. [6]

In September, 2013, Steinberg discontinued maintenance of the VST 2 SDK. In December, Steinberg stopped distributing the SDK.[7]

VST plugins[edit]

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 Massive, FM8, Absynth, Sylenth1, Reaktor, Gladiator, Vanguard and Omnisphere.

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.

VST hosts[edit]

A VST host is a software application or hardware device that VST plugins run under. The host application presents the plugin UIs and routs digital audio and MIDI to and from the plugins.

Software[edit]

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 (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[edit]

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[edit]

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, low signal to noise, etc.)
  • Low CPU use
  • Sufficient memory capacity

VST plugin standard[edit]

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.

Presets[edit]

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.

Competing technologies[edit]

Programming languages[edit]

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,[9] a Java version from the jVSTwRapper project at Sourceforge,[10] and two .NET versions – Noise[11] and VST.NET;[12] 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.

See also[edit]

References[edit]

  1. ^ Steinberg Cubase 3 (article), Sound on sound, Jul 1996 .
  2. ^ a b Cubase 3.7 (article), Sound on sound, Sep 1999 
  3. ^ KVR audio .
  4. ^ Steinberg .
  5. ^ News, KVR audio .
  6. ^ VST 3.5 a milestone in VST development (News), Steinberg, 2011-02-10 .
  7. ^ SDK for VST 2 software interface discontinued (News), Steinberg, 2013-12-09 
  8. ^ VST plug-ins 
  9. ^ VST, Axi world .
  10. ^ jVSTwRapper, Source forge .
  11. ^ Noise, Google code .
  12. ^ VST.Net, Codeplex .

External links[edit]