This is an audio plugin template I've progressively built while exploring how to make audio plugins with Rust, nih-plug, JUCE, and considering other UI implementations.
It is very much a work in progress, I opt for the open door garage, while I structure and explore it; don't take anything in it for certain or stable, or even, working.
The main idea is, build the DSP code in full Rust (in dsp_core),
and call it from whatever framework you want/need (in plugins/*).
It outputs CLAP, VST3, AUv2 (macOS), and an optional browser demo (WASM).
A working gain processor ships out of the box — replace the DSP, keep the infrastructure.
Claude Code was involved in building this, quite a bit, and it shows. Great tool for exploring unfamiliar territory.
cp -r dima/ myplugin/
cd myplugin/
# Edit config/plugin.toml — all fields marked ← CUSTOMIZE
cargo xtask allThat's it. cargo xtask all runs tests, builds,
and installs to your local plugin folders.
| Layer | What you get |
|---|---|
| DSP | dsp_core/ — pure Rust, zero framework deps, real-time safe |
| Plugin | plugins/nih-plug/ — CLAP + VST3 exports, egui UI, factory presets, lock-free waveform |
| Web demo | plugins/web/ — WASM build, standalone HTML page (offline, no server) |
| Build | cargo xtask — test, build, install, bundle-au, web-demo, all |
| macOS | AUv2 via vendored clap-wrapper, code signing + notarization scripts |
| CI/CD | GitHub Actions matrix (macOS, Windows, Linux) |
| Config | Single config/plugin.toml → propagates to build.rs, xtask, web |
config/plugin.toml ← single source of truth for all metadata
dsp_core/ ← your DSP logic (framework-agnostic)
plugins/
nih-plug/ ← CLAP + VST3 + AUv2 wrapper
web/ ← WASM demo
xtask/ ← build system
scripts/
sign-and-bundle.sh ← macOS signing + notarization + PKG
- Copy this directory, initialize a git repo
- Edit
config/plugin.toml(10 fields marked← CUSTOMIZE) - Replace
dsp_core/src/lib.rswith your DSP - Add parameters in
plugins/nih-plug/src/lib.rs - Run
cargo xtask all
Full guide/notepad is in TEMPLATE_HOWTO.md.
- Rust stable (edition 2021)
cargo install wasm-pack(web demo only)- Xcode command-line tools (macOS AUv2 only)
MIT — see LICENSE