LV2
LV2 is a set of royalty-free open standards for music production plug-ins and matching host applications. It includes support for the synthesis and processing of digital audio and CV, events such as MIDI and OSC, and provides a free alternative to audio plug-in standards such as Virtual Studio Technology and Audio Units.
LV2 succeeds the more limited Linux Audio Developer's Simple Plugin API standard and replaces the Disposable Soft Synth Interface plugin infrastructure, adding abilities such as MIDI capability, custom UIs, and a system allowing extensibility of the initial standard.
Over twelve hundred plugins are now available in LV2 format. Notable plugins include Calf Studio Gear. Software that can host LV2 plugin "bundles" includes Ardour,,, Qtractor, Traverso DAW, Harrison Mixbus, MusE, Audacity, Ecasound, FFmpeg, Guitarix, the GStreamer framework and DJing software Mixxx, with currently partial support in LMMS and REAPER. It is also the plugin format used by the MOD Duo and MOD Duo X,, and Digit/Beebo hardware units. Isla Instruments provides an FX expansion card for their S2400 sampling drum machine that can run LV2 plugins.
Concepts
LV2 is an extensible framework, allowing a program to load a plugin to do some processing. Note that the terms used here are generic on purpose because LV2 allows any type of data to be exchanged between the host and the plugin.RDF
The LV2 specifications are defined by and make use of RDF metadata in Turtle format. Technologies involved include Dublin Core, FOAF, DOAP, SPDX, XSD, RDFS and OWL. The relational capabilities and properties this syntax supports are powerful but can be hard to understand at first.Beyond the core specification there are 21 official extensions providing support for host options, plugin presets, time and units, port buffers, properties, groups and parameter labels, for sending MIDI, patches, UI events and more. There are various third-party extensions for supporting,, and specific hardware and software, with three in the .
The plugin uses this information to provide a list of capabilities to the host, so the host can accommodate those. Similarly, the host can provide a list of LV2 extension capabilities that it supports on initialization of the plugin.
In the example below, first the shortcut prefixes for the lv2, doap and spdx ontology are declared. Next, every plugin must have its own URI or URN. Then the 4 following declare that this resource is an lv2:Plugin, a binary object file library with the filename silence.so should be present, the plugin is known under the name Silence, and is licensed under the GNU GPL. These 4 properties are mandatory for an LV2 plugin; if a plugin does not have all of them a host might not load it.
@prefix lv2:
@prefix doap:
@prefix spdx:
a lv2:Plugin;
lv2:binary
doap:name "Silence";
doap:license spdx:GPL-3.0-or-later;
rdfs:comment "This is an example plugin that includes an example plugin description."
lv2:port .
Atoms
"Atom" data structures are used for messaging between plugin ports for the transfer of MIDI, OSC, Patch, UI and other events between plugin instances. These can also be serialised on Turtle.UI
Aside from separating metadata from binaries, LV2 mandates a general separation between DSP and user interface processing. Benefits include that UI processing cannot hold back DSP processing, and UI and DSP can be separated across a network. Messaging using Atoms is the preferred method for passing updates between the running DSP and UI binaries.Hosts can also provide an interface for displaying and configuring the properties of plugin instances. There are extensions and properties to help display the correct control types.