Audacity behaves as an excellent LADSPA host. Just read up about LADSPA, and make your plug-ins correctly. As a starting point, look at some LADSPA Plugin Developers' Documentation and some example plug-ins. Keep in mind that Audacity 'runs' the plug-in multiple times with some specific number of samples.
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.
Libraries contain a number of individual plugins. A large number of plugin libraries have been written. Here are some of them:
And here are some tools for generating plugins:
There are many hosts out there. Here are a few:
You may find links to other interesting things at http://linux-sound.org/ladspa.html.
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.
The API is captured within a header file. A simple Software Development Kit (SDK) is available which includes terse documentation, three simple hosts and ten example plugins.
Plugin types are identified by unique IDs. See the SDK for more details.
Dave Phillips provides an excellent overview.
Many Linux distributions manage LADSPA plugin libraries for you in a central location. However, if your plugins are not found by the host you are using, you may need to set the environment variable LADSPA_PATH manually. This should be a colon-separated list of directories to search to find plugin libraries. If this is set correctly, the 'listplugins' program in the SDK should list all your plugins.
If you want to start writing LADSPA plugins in C++ but do not wish to produce your own independent library, you might be interested in the framework used by the Computer Music Toolkit project.
The latest updates to the LADSPA SDK and CMT library were made on the 6th January 2019.
The author (Richard Furse) can be emailed at richard at ladspa dot org.
19 Jan, 2015
I noticed that windows version of Audacity can load LADSPA plugins so I thought what If I could also use these as VST plugins.
This post will discuss how to use the LADSPA plugins, to another VST host as VST plugins, on a Windows platform. To summarize this post: It can be done using a VST plugin called ladspashell which loads these LADSPA plugins and makes them available to be used as VST plugins. I will be discussing from the perspective of Reaper but technically you can use any other VST host like FL Studio. Scroll down and skip the text to get right to the links.
LADSPA plugins are Linux audio plugins that are usually found in Linux audio environment but a set of plugins that are compiled for Windows are also supplied for Audacity to be used on Windows platform. But even if you don't use Audacity, you can still use these LADSPA plugins on your DAW (Digital Audio Workstation) if it supports VST plugins.
There are so many free VST plugins out there and Reaper itself comes with a lots of JS plugins. So you might wonder why you would like to use LADSPA plugins as VST. Well, your reason for using it might vary. If you use Audacity as your sound editor on windows and have the LADSPA plugins pack (which contains more than 90 plugins) and for some reason you want to use the same LADSPA plugin in your DAW that supports VST, then you can use these. So you can change effects parameters whenever you want and render only when you are done, as in Audacity you can preview little segments of sound and then you have to render it immediately. So, if you decide to use LADSPA as VST plugins, then you get the added benefit of parameter automation using curves, something that you can't do with Audacity at the moment.
In order to use LADSPA plugins, that are compiled for Windows platform, on a VST host, you need a VST plugin called ladspashell (100KB). ladspashell is part of 'Polac VST Loaders for Jeskola Buzz' (http://www.xlutop.com/buzz/) and you can browse for this here: http://www.xlutop.com/buzz/zip/ But you will just need ladspashell for the purpose we are talking here.
After installing ladspashell to your default VST plugin folder by unpacking the ladspashell.dll file there and then loading the plugin for the first time, you will be asked for the location of the path of directory where those LADSPA plugins are installed. After choosing the right path, the LADSPA plugins will be available to your host. How it be available will depend on the host.
LADSPA plugins on Reaper-
Many of these LADSPA plugins are Mono channel effect processors and the host automatically assigns two instances of these plugins for stereo channels. Some plugins like GVerb which has 1 input and 2 output, you need to do extra work to get proper stereo 2 in 2 out type sound.
Lets see how it's done. One quick way would be to just load two instances of the same plugin and use the plugin pin connection to assign left and right channels. You can use presets to share the same settings between these instances.
Pin connection for getting proper stereo channel processing for GVerb-
GVerb LADSPA plugin on Audacity-
GVerb LADSPA plugin on Reaper. As you can see '1 in 2 out', so use proper channel routing.
(Last edited: 18 June, 2015, mostly for readability.)