LV2

LV2
Developer(s) Steve Harris, David Robillard, other members of linux-audio-dev
Written in C
Operating system Linux, Windows, OS X, BSD
License ISC License
Website lv2plug.in

LV2, an acronym for Linux Audio Developer's Simple Plugin API (LADSPA) version 2, is an open standard for audio plug-ins and matching host applications. It includes support for audio synthesis (generation) and digital signal processing of digital audio and MIDI. It provides an open alternative to other standards such as Virtual Studio Technology (VST) and Audio Units.

Currently there is support for LV2 in Ardour, Calf Studio Gear,[1] Qtractor, Traverso DAW,[2] Harrison Mixbus,[3] MusE and the 2.0.6 and above versions of Audacity.[4] It is also the plugin format used by the Mod Duo[5] hardware effects unit. KXStudio's Carla is a multiplatform host supporting many plug-in formats including LV2.

LV2 replaces the former Disposable Soft Synth Interface (DSSI) plugin infrastructure, and succeeds the more limited LADSPA standard, adding MIDI capability, custom UIs, a system allowing extensibility of the initial standard, and other features.[6]

A wide range of plugins are available in LV2 format; a full list is available from the lv2plug.in site.

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. In this example we will use audio processing as a demonstration.

The host program loads the plugin, and calls some initialization functions. The host can provide a list of LV2_Extension that it supports when it initializes the plugin, so the capabilities of the host are known to the plugin when it is start up. Similarly, the plugin can provide a list of capabilities to the host, so the host can accommodate those. This capability concept is very powerful, but also difficult to understand at first.

Worker Thread

One capability that a host can provide to a plugin is a "worker thread". In programming terms, this means that the plugin can offload some work to be done in another thread that the host provides. This is generally useful because a plugin is usually run in the real-time audio thread of an application, and hence cannot do any non-real-time safe operations (disk-accesses, system calls, etc.). To make it easy for the plugin to achieve its goals (e.g.: load a file from disk), the host can provide a worker thread. The host provides the LV2_Extension for the worker thread (http://lv2plug.in/ns/ext/worker/) and the plugin is then able to use it.

See also

References

  1. "Calf Studio Gear supports LV2".
  2. Traverso User Manual, p. 26
  3. Harrison Website
  4. Audacity
  5. "MOD Devices". moddevices.com. Retrieved 2016-04-16.
  6. List of LV2 features

External links

This article is issued from Wikipedia - version of the 11/30/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.