github.com/RustAudio/rust-lv2

A safe, fast, and modular framework to create LV2 plugins, written in Rust

Open this visualization on its own page →

Contributors

13

Lines of Code

2,422

From

2019-04-25

To

2021-02-13

About RustAudio/rust-lv2

Rust-LV2 is a framework for building LV2 audio plugins in Rust, emphasizing safety, performance, and ease of use. LV2 is a standard plugin architecture used by digital audio workstations and other music production software, allowing developers to create audio processing effects and instruments that work across many different host applications. The framework generates all necessary boilerplate code for creating a working LV2 plugin binary and supports flexible audio port configurations including mono, stereo, surround, and custom channel mappings.

The project is modular, built from multiple sub-crates that can be enabled as needed. Core functionality includes real-time, allocation-free audio processing and plugin binary generation compatible with any LV2-compliant host like Carla and Ardour. Additional features come through LV2 specifications such as MIDI processing, state management, asynchronous work scheduling, and custom data serialization for plugin-to-GUI communication. The framework is extensible, allowing binding to official, unofficial, or custom LV2 specifications.

Rust-LV2 currently supports plugin creation only, not plugin hosting. It targets multiple platforms with Tier 1 support for 64-bit and 32-bit Linux and Tier 2 support for ARM Linux variants and Windows. The project is actively maintained and documented through an online book, comprehensive API documentation, and references to the official LV2 specifications. Though marked as a work in progress, several features remain unimplemented, including custom graphical user interfaces and preset handling.

Share this video