Vst

From EMC Electronic Music Coders
Jump to navigation Jump to search

Virtual Studio Technology (VST) is an audio plug-in software interface that integrates software synthesizer and effects in 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 a large number of audio applications support VST under license from its creator, Steinberg.

Competing technologies

   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 distributed under the MIT license, includes demo host and synthesizer[13]

Programming languages

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,[14] a Java version from the jVSTwRapper project at Sourceforge,[15] and two .NET versions – Noise[16] and VST.NET;[17] 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.