LV2 Audio Plugin Specification
LV2 is a standard for plugins and matching host applications, mainly targeted at audio processing and generation.
LV2 is a simple but extensible successor of LADSPA, intended to address the limitations of LADSPA which many applications have outgrown.
Unlike many popular audio plugin APIs, LV2 is a platform-agnostic Free Software specification, using a liberal BSD-style license to permit any implementation (both free and proprietary).
While LADSPA has been quite successful with many plugins and hosts, it is quite limited and can't be extended without breaking existing implementations. LV2 in contrast is designed with extensibility in mind right from the start. Instead of a monolithic design that can only be improved by a central authority, new functionality (an "extension") can be added to LV2 by anyone, making distributed development of the interface itself possible.
Everything an LV2 plugin needs is bundled inside a directory, which can easily be handled as a whole while still allowing direct access to the parts. Users can easily manage their installations by moving or deleting bundles with any file manager.
With LADSPA, fixed data fields providing information about the plugin (like the number and type of ports) are inside the plugin binary, resulting in a number of problems:
There is code for providing data needed inside every plugin source.
The plugin has to be loaded and linked to retrieve any information about it, leading to potential crashes.
There's no support for internationalisation.
If you want to add anything to the static data you have to be careful to not break binary compatibility.
LV2 separates the static data into RDF files in the easy to read and hand-write Turtle syntax. This provides a solution to all of the above problems. By using RDF, any kind of additional data can be added by plugin authors without compatibility problems. Thanks to RDF namespacing, anyone can create and use extensions. Strings can be internationalised easily. Detailed descriptions and documentation can be written using a very large (and growing) pool of pre-existing vocabularies.