An audio plug-in, in computer software, is a
plug-in that can add or enhance audio-related functionality in a
computer program
A computer program is a sequence or set of instructions in a programming language for a computer to execute. Computer programs are one component of software, which also includes documentation and other intangible components.
A computer program ...
. Such functionality may include
digital signal processing
Digital signal processing (DSP) is the use of digital processing, such as by computers or more specialized digital signal processors, to perform a wide variety of signal processing operations. The digital signals processed in this manner are ...
or
sound synthesis
A synthesizer (also spelled synthesiser) is an electronic musical instrument that generates audio signals. Synthesizers typically create sounds by generating waveforms through methods including subtractive synthesis, additive synthesis and f ...
. Audio plug-ins usually provide their own
user interface
In the industrial design field of human–computer interaction, a user interface (UI) is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine f ...
, which often contains
GUI widget
A graphical widget (also graphical control element or control) in a graphical user interface is an element of interaction, such as a button or a scroll bar. Controls are software components that a computer user interacts with through direct ...
s that can be used to control and visualise the plug-in's audio parameters.
Types
There are three broad classes of audio plug-in: those which transform existing
audio samples
In sound and music, sampling is the reuse of a portion (or sample) of a sound recording in another recording. Samples may comprise elements such as rhythm, melody, speech, sounds or entire bars of music, and may be layered, equalized, sped up or ...
, those which generate new audio samples through
sound synthesis
A synthesizer (also spelled synthesiser) is an electronic musical instrument that generates audio signals. Synthesizers typically create sounds by generating waveforms through methods including subtractive synthesis, additive synthesis and f ...
and those which analyze existing
audio samples
In sound and music, sampling is the reuse of a portion (or sample) of a sound recording in another recording. Samples may comprise elements such as rhythm, melody, speech, sounds or entire bars of music, and may be layered, equalized, sped up or ...
.
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.
Instances
The program used to
dynamically load audio plug-ins is called a plug-in host. Example hosts include
Bidule
Bidule is a commercial software application for the creation of interactive computer music and multimedia produced by the Canadian company Plogue Arts and Technology. It runs on both Windows and Mac computers.
Bidule uses a modular structure ...
,
Gig Performer
Gig Performer is a cross-platform audio plug-in host software package developed by Deskew Technologies. It is designed to provide a solution for playing an instrument and effect plug-ins live, without using a DAW. It was originally released in ...
,
Mainstage
MainStage is a music application developed by Apple Inc. designed for use in live performance.
Features
MainStage might be thought of as a companion app to Logic Pro. It works in much the same way and bears a similar user interface. The focu ...
,
REAPER
A reaper is a agricultural machinery, farm implement or person that wikt:reap#Verb, reaps (cuts and often also gathers) crops at harvest when they are ripe. Usually the crop involved is a cereal grass. The first documented reaping machines were ...
and
Sonic Visualiser
Sonic Visualiser is an application for viewing and analysing the contents of music audio files. It is free software distributed under the GPL-2.0-or-later that people use to visualise, analyse, and annotate sound files. The program is useful in ...
. Plug-ins can also be used to host other plug-ins. Communication between host and plug-in(s) is determined by a plug-in
API
An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
. The API declares
functions and
data structure
In computer science, a data structure is a data organization, management, and storage format that is usually chosen for efficient access to data. More precisely, a data structure is a collection of data values, the relationships among them, a ...
s that the plug-in must define in order to be usable by a plug-in host. Additionally, a
functional specification
A functional specification (also, ''functional spec'', ''specs'', ''functional specifications document (FSD)'', ''functional requirements specification'') in systems engineering and software development is a document that specifies the functions ...
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 file
Many programming languages and other computer files have a directive, often called include (sometimes copy or import), that causes the contents of the specified file to be inserted into the original file. These included files are called copybooks ...
s, specification,
shared libraries
In computer science, a library is a collection of non-volatile resources used by computer programs, often for software development. These may include configuration data, documentation, help data, message templates, pre-written code and su ...
,
license
A license (or licence) is an official permission or permit to do, use, or own something (as well as the document of that permission or permit).
A license is granted by a party (licensor) to another party (licensee) as an element of an agreeme ...
and documentation are sometimes bundled together in an
SDK.
Reason Studios Rack Extension SDK
/ref>
List of plug-in architectures
See also
* Effects unit
An effects unit or effects pedal is an electronic device that alters the sound of a musical instrument or other audio source through audio signal processing.
Common effects include distortion/overdrive, often used with electric guitar in el ...
References
{{reflist
Software add-ons