Audio plug-in

An audio plug-in, in computer software, is a plug-in that can add or enhance audio-related functions in a computer program. Such functions may include digital signal processing or sound synthesis. Audio plug-ins usually provide their own user interface, which often contains graphical user interface (GUI) widgets 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, those which generate new audio samples through sound synthesis, and those which analyze existing audio samples. 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, Gig Performer, Mainstage, REAPER, and Sonic Visualiser. Plug-ins can also be used to host other plug-ins. Communication between host and plug-in(s) is determined by a plug-in application programming interface (API). The API declares functions and data structures that the plug-in must define 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 a software development kit (SDK).