"Killin' em with Positive Vibes..."
You are not logged in.
Linux Audio Developer's Simple Plugin API (LADSPA)
Overview
LADSPA is a standard that allows software audio processors and effects to be plugged into a wide range of audio synthesis and recording packages.
For instance, it allows a developer to write a reverb program and bundle it into a LADSPA "plugin library." Ordinary users can then use this reverb within any LADSPA-friendly audio application. Most major audio applications on Linux support LADSPA.
If you are a developer and want to jump straight into the code, you may want to look at the LADSPA header file or download the LADSPA SDK.
For a well-written introduction to LADSPA, see Dave Phillips' article on Oriellynet.
History
The original LADSPA proposal was included in an email to the Linux Audio Developer Mailing List as part of an ongoing discussion on plugin API design.
The proposal was bounced around for a number of weeks before version 1 was finalised, on the 2nd April 2000. The focus was - and is - to provide an API that is a good compromise between functionality, intuition and compatibility but is simple. The "S" in "LADSPA" is meant seriously.
Because of this, there are conspicuous features missing (e.g. support for data types other than 32bit floating point numbers). Many of these have been excluded deliberately because including support would require excessive complexity for the host or plugin programmer or too specific an approach to overall architecture. The common ground between audio applications is not as large as one might imagine and LADSPA aims at this.
And all this seems to have worked out rather well. LADSPA is a very straightforward API to work with from both the host and plugin sides for most conventional plugins. It does not attempt to impose a way of doing things on the host, instead allowing the host to use plugins in almost any way it chooses. Plugin writers can start from example plugins or just the API and code up new plugins very quickly.
LADSPA has been released under LGPL (GNU Lesser General Public License). This is not intended to be the final license for LADSPA. In the long term it is hoped that LADSPA will have a public license that is even less restrictive, so that commercial applications can use it (in a protected way) without having to use a derived LGPL library. It may be that LGPL is already free enough for this, but we aren't sure. Does anyone want to pay for a lawyer? In the meantime, please mail me if this is an issue for you.
LADSPA has moved to version 1.1 with the introduction of default values and standardisation of 1.0f as 0dB.
There is nothing particularly Linux-specific about LADSPA's core design and it has been used on a number of different platforms. These are currently not supported on this website.
External Links:
Libraries contain a number of individual plugins. A large number of plugin libraries have been written. Here are some of them:
* Probably the largest range of plugins is available from Steve Harris at http://plugin.org.uk/.
* Blop, by Mike Rawes, provides a set of oscillator plugins and more.
* The CAPS Audio Plugin Suite by Tim Goetze provides a number of plugins, including a range of guitar amp emulations.
* The Computer Music Toolkit (CMT) contains plugins by David Bartold, Richard Furse, Jezar and Nathaniel Virgo.
* Fons Adriaensen provides a wide range of plugins includings filters, phase vocoded compression/expansion, reverb and ambisonics.
* Dr. Matthias Nagorni has provided a set of EQ biquad filters.
* TAP Plugins are by Tom Szilagyi.
* Settel's Vocoder program has been ported to LADSPA by Josh Green.
* VLevel is a dynamic compressor with look-ahead by Tom Felker.
And here are some tools for generating plugins:
* csLADSPA allows plugins to be written with the Csound programming language.
* Faust is a compiled DSP language that can be used to produce LADSPA plugins.
* GDAM provides facilities to generate plugins automatically from graphs of simple plugins.
Offline