Audio plugin formats
VST
GPLv3 or Proprietary
VST can refer to several different versions of the VST format by Steinberg. VST2 was one of the most common standards, but is now unlicensed. Instead, VST3 is recommended and is generally supported in most DAWs. Note that the Rust vst3-sys crate currently relies on GPLv3 code.
Crates
- vst
- vst3-sys
AudioUnit
Proprietary
AudioUnit (AU) is only available on Apple platforms. AU v2 is simlar to VST, and AU v3 follows an Apple framework approach, which is harder to implement without Apple tools. Currently, no Rust libraries implement the AudioUnit standard.
Resources
- Rust CoreAudio - AudioUnit struct documentation
- Rust CoreAudio - Possibility of creating AU plugins
- Rust CoreAudio - AudioUnit implementation
- DPlug - AudioUnit implemented in DLang
LV2
ISC
LV2 is only supported on Linux with a few exceptions. One interesting feature is that all LV2 plugin hosts and plugins are backwards compatible with previous versions.
Resources
- LV2 Crate implementation and Design on rust.audio
Crates
- rust-lv2
- lv2rs
CLAP
MIT
CLAP is a relatively new plugin format with permissive licensing. It does not currently have wide support outside of Bitwig.
Crates
- clap-lv2