Audio plug-in
An audio plug-in, in computer software, is a plug-in that can add or enhance audio-related functionality in a computer program. Such functionality may include digital signal processing or sound synthesis.[1] Audio plug-ins usually provide their own user interface, which often contains GUI widgets that can be used to control and visualise the plug-in's audio parameters.[2]
Types
There are three broad classes of audio plug-in: those which transform existing audio samples, those which generate new audio samples through sound synthesis and those which analyze existing audio samples.[2] Although all plug-in types can technically perform audio analysis, only specific formats provide a mechanism for analysis data to be returned to the host.[3]
Instances
The program used to dynamically load audio plug-ins is called a plug-in host. Example hosts include Bidule, Gig Performer, Mainstage, REAPER and Sonic Visualiser. Plug-ins can also be used to host other plug-ins.[4] Communication between host and plug-in(s) is determined by a plug-in API. The API declares functions and data structures that the plug-in must define in order to be usable by a plug-in host. Additionally, a functional specification may be provided, which defines how the plug-in should respond to function calls, and how the host should expect to handle function calls to the plug-in. The specification may also include documentation about the meaning of variables and data structures declared in the API. The API header files, specification, shared libraries, license and documentation are sometimes bundled together in an SDK.[5][6][7]
List of plug-in architectures
Name | Developer | License | GUI support | Supported types | Supported platforms |
---|---|---|---|---|---|
Rack Extension | Reason Studios | BSD-style [8] | Yes | Transformation and synthesis | Mac OS X and Windows |
Virtual Studio Technology | Steinberg | Proprietary or GPLv3[9] | Yes | Transformation and synthesis | Mac OS X, Windows and Linux[10] |
Audio Units | Apple | Proprietary | Yes | Transformation and synthesis | Mac OS X, iOS and tvOS [11] |
Real Time AudioSuite | Avid | Proprietary | Yes | Transformation and synthesis | Mac OS X and Windows |
Avid Audio eXtension | Avid | Proprietary | Yes | Transformation and synthesis | Mac OS X and Windows |
TDM | Avid | Proprietary | Yes | Transformation and synthesis | Mac OS X and Windows |
LADSPA | ladspa.org | LGPL | No | Transformation | Mac OS X, Windows and Linux |
DSSI | dssi.sourceforge.net | LGPL, BSD | Yes | Transformation and synthesis | Mac OS X, Windows and Linux |
LV2 | lv2plug.in | ISC License | Yes | Transformation and synthesis | Linux, OS X, Windows |
DirectX plugin | Microsoft | Proprietary | Yes | Transformation and synthesis | Windows |
VAMP | vamp-plugins.org | BSD-style | No | Analysis | Mac OS X, Windows and Linux |
See also
References
- Collins, Mike A. (2003). Professional Guide to Audio Plug-ins and Virtual Instruments. Burlington, MA: Focal Press. ISBN 9780240517063.
- Goudard, Vincent; Müller, Remu (2 June 2003). "Real-time audio plugin architectures" (PDF). IRCAM. Cite journal requires
|journal=
(help) - Cannam, C. 2008., The vamp audio analysis plugin api: A programmer’s guide. . Revision 1.0, covering the Vamp plug-in SDK version 1.2. 51
- Gibson, D. and Polfreman, R., 2011. "An Architecture For Creating Hosting Plug-Ins For Use In Digital Audio Workstations.", In: International Computer Music Conference 2011, 31 July - 5 August 2011, University of Huddersfield, England.
- VST SDK
- VAMP SDK
- Reason Studios Rack Extension SDK
- Reason Studios Rack Extension SDK License
- http://www.steinberg.net/sdklicenses_vst3
- https://github.com/steinbergmedia/vst3sdk#system-requirements
- https://developer.apple.com/documentation/audiounit