RustAudio/rust-lv2

Created Feb 15, 2021 · View the RustAudio/rust-lv2 repository page

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

Want this for your repo?

Render a free sample of any GitHub repo in seconds.

Visualize your own →

Contributors

13

Lines of Code

2,422

From

Apr 25, 2019

To

Feb 13, 2021

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