Revision as of 03:31, 27 September 2008 edit24.65.69.8 (talk) →Programming Languages← Previous edit | Revision as of 11:37, 3 October 2008 edit undoSuva (talk | contribs)1,238 edits →GNU/Linux support: Native Linux VSTsNext edit → | ||
Line 52: | Line 52: | ||
Alternatively, one can try to run VST-hosting Windows programs by using Wine. This has been known to work with ] (), ] 1.16, and recent versions of ] can be run with recent versions of Wine. | Alternatively, one can try to run VST-hosting Windows programs by using Wine. This has been known to work with ] (), ] 1.16, and recent versions of ] can be run with recent versions of Wine. | ||
Lately Linux has seen a surge of native VST plugins. (Using Steinberg VST-SDK but compiled natively for linux). Hosts supporting native Linux VSTs are ] and ] also there is JACKable VST/LADSPA/DSSI host called ] available. On September the 4th the first commercial Linux VSTi plugin Discovery R3 was released by ]. Collection of free plugins are available from various sources. | |||
== Programming languages == | == Programming languages == |
Revision as of 11:37, 3 October 2008
For the television term, see Virtual studio.Steinberg's Virtual Studio Technology (VST) is an interface for integrating software audio synthesizer and effect plugins with audio editors and hard-disk recording systems. VST and similar technologies use Digital Signal Processing to simulate traditional recording studio hardware with software. Thousands of plugins exist, both commercial and freeware, and VST is supported by a large number of audio applications. The technology can be licensed from its creator, Steinberg.
Overview
VST plugins are generally run within a Digital Audio Workstation, providing the host application with additional functionality. Most VST plugins can be classified as either instruments (VSTi) or effects, although other categories exist. VST plugins generally provide a custom GUI, displaying controls similar to the physical switches and knobs on audio hardware. Some (often older) plugins rely on the host application for their UI.
VST instruments include software emulations of well-known hardware synthesizer devices and samplers, emulating the look of the original equipment and its sonic characteristics. This enables VSTi users to use virtual versions of devices that may be otherwise difficult to obtain.
VST instruments require notes to be sent via MIDI in order to output audio, while effect plugins process audio data. MIDI messages can often also be used to control parameters of both instrument and effect plugins. Most host applications allow the audio output from one VST to be routed to the audio input of another VST (known as chaining). For example, output of a VST synthesizer can be sent to a VST reverb effect for further processing.
With appropriate hardware and drivers, such as a sound card that supports ASIO, VST plugins can be used in real-time. ASIO bypasses Windows' slower audio engine, offering much lower latency.
VST plugins
VST instruments generate audio. They are generally either virtual synthesizers or samplers. One of the first VST instruments was the Neon VSTi (see SCREENSHOT), which was included in Steinberg's Cubase. Some, such as Native Instruments' Pro-53, specifically recreate the look and sound of famous synthesizers from years past (in this case, the Prophet-5).
VST effects, such as reverb and phaser effects, process audio input. Other monitoring effects provide visual feedback of the input signal without processing the audio. Most hosts allow multiple effects to be chained.
VST MIDI effects process MIDI messages prior to routing the MIDI data to other VST instruments or hardware devices; for example, to transpose or create arpeggios.
VST hosts
Software
A VST host is a software application or hardware device that allows VST plugins to be loaded and controlled. The host application is responsible for handling the routing of digital audio and MIDI to and from the VST plugins. There are a wide range of VST-compatible hosts available; some of the most popular include Ableton Live, Cubase, FL Studio, REAPER and Sonar. Savihost is a stand-alone executable that runs a single VST instrument.
VST plugins can be hosted in incompatible environments using a translation layer, or shim. For example, FXpansion offers a VST to RTAS (Real Time AudioSuite) wrapper (allowing VST plugins to be hosted in the popular Pro Tools digital audio workstation), and a VST to Audio Units wrapper (allowing VST plugins to be hosted in Apple Logic Pro Digital Audio Workstation).
Hardware
Hardware VST hosts (e.g. Muse Receptor and SM Pro Audio's V-Machines) can load special versions of VST plugins. These units are portable and usable without a computer, although all editing is done on a computer. 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.
Audio data can also be sent over a network using appropriate software, allowing the main host to run on one computer and VST plugins to run on peripheral computers.
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/Linux. The majority of VST plugins are available for Windows.
Competing technologies
- LADSPA, DSSI and LV2 for Linux
- Apple Computer's Audio Units
- Microsoft's DirectX *
- Digidesign's Real Time AudioSuite
- Digidesign's TDM
* Steinberg decided to drop support for DirectX from Cubase 4.
GNU/Linux support
See also: Free audio softwareKjetil Matheussen's vstserver first provided a mechanism for loading and using VST plugins via his k_vst~ object for the Pure Data synthesis environment and his ladspavst "plugin to host plugins" for the LADSPA Linux audio plugin API. Kjetil has added his vsti to his list of vstserver clients, providing a way to use VSTi plugin instruments under Linux.
FreeST (fst) allows GNU/Linux users to use native Windows VST plugins by using parts of the WINE compatibility layer. It is supported by such programs as Ardour and JACK Audio Connection Kit. This requires the Steinberg SDK. FST and jack_fst wrap the VST plugins as JACK clients and display the graphical user interfaces in separate windows. The plugins can then be controlled by MIDI, often using a sequencer such as Rosegarden. A similar solution is to use dssi_vst, which wraps VST plugins in a DSSI plugin, thereby allowing VST plugins to be used with programs that have DSSI support. This solution was used in the commercial Linux distribution Studio to Go! from Fervent Software. The music program LMMS also features VST support through "LMMS VST Support Layer". All of these solutions except LMMS require Steinberg's SDK for compilation in addition to Wine and Wine's development files, whose package is typically named 'wine-devel' or 'wine-dev'.
Alternatively, one can try to run VST-hosting Windows programs by using Wine. This has been known to work with Jeskola Buzz (instructions), Modplug Tracker 1.16, and recent versions of REAPER can be run with recent versions of Wine.
Lately Linux has seen a surge of native VST plugins. (Using Steinberg VST-SDK but compiled natively for linux). Hosts supporting native Linux VSTs are Renoise and EnergyXT also there is JACKable VST/LADSPA/DSSI host called Jost available. On September the 4th the first commercial Linux VSTi plugin Discovery R3 was released by discoDSP. Collection of free plugins are available from various sources.
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, a JAVA version from the jVSTwRapper project at sourceforge.net, and a .NET version - Noise. Another .NET implementation is VST.NET. This open source project also includes a framework which makes creating VST plugins easier and result in more structured code.
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.
See also
- Software synthesizer
- Digital audio workstation
- LADSPA and DSSI, similar open source standards.
- Audio Units, a similar standard by Apple Computer.
- Synthedit, a VST/VSTi editor.
- SynthMaker, visual programming tool for VST/VSTi
- Software effect processor
External links
- KVR Audio Comprehensive plug-in database (over 3000 entries). Daily plug-in news. Very active forum. Banks, patches, etc.
- Steinberg - The software company that developed the VST standard.
- Noise - Aforementioned Noise on Google code, includes source code.
- VST.NET - An interop layer to managed .NET code and a framework for easy development.