Tooling

Audio DSP Frameworks

JUCE, iPlug2, Faust, Cmajor, libpd, RNBO, VST SDK — write your own audio plugins and DSP.

Frameworks for building your own audio plugins, instruments, embedded audio appliances, and browser audio. The 2024-26 inflection point: Cmajor has shipped as a serious new audio-DSP language (from the JUCE / Tracktion folks), and CLAP (see audio-plugin-formats) lets new OSS plugins target an open format first.

For DAWs that load these plugins see daws-overview. For plugin formats see audio-plugin-formats. For free synths / effects already built on these see synths-free-oss and audio-effects-free.

C++ plugin frameworks

  • JUCE — GPL3 / paid commercial license (Tracktion / PACE; the GPL3 path is fine if your plugin is also GPL3). The de-facto C++ framework for cross-platform audio plugins (VST3 / AU / AAX / standalone) and audio applications. Most commercial plugins ship on JUCE. Cmajor's runtime targets JUCE.
  • iPlug2 — MIT, cross-platform. Lightweight C++ plugin framework. Used by ChowDSP, NAM, many OSS plugins. Supports VST3 / AU / AAX / CLAP / standalone / WebAudio (WASM).
  • DPF (DISTRHO Plugin Framework) — ISC; small framework targeting LV2 / VST3 / VST2 / CLAP / JACK / standalone. Used by many KXStudio / DISTRHO plugins.
  • VST 3 SDK (Steinberg) — GPL3 + proprietary; the official low-level SDK. Most people use JUCE / iPlug2 instead.
  • CLAP SDK / clap-helpers / clap-wrapper — MIT; the official open spec + helper libs. clap-wrapper auto-generates VST3 / AU from a CLAP source — many new plugins ship CLAP-first and let the wrapper produce the others.
  • AAX SDK — Avid; proprietary, paid certification, NDA.
  • JsusFx / WDL-OL — Reaper-adjacent C/C++ libs.

Functional DSP languages

  • Faust (Functional AUdio STream) — GRAME; LGPL. The functional-block-diagram DSP language; compiles to C / C++ / WebAssembly / LLVM / FAUST IR. Targets VST / AU / LV2 / iOS / Android / Pi / Daisy / browser. Long-running academic powerhouse. Online IDE at faustide.grame.fr.
  • Cmajor — new (2022-) MIT-licensed audio DSL from the JUCE team's Sound on Sound article. Compiles to fast C++; targets VST3 / AU / standalone. Designed to feel high-level (like SuperCollider sclang) while compiling tight. The audio language to watch in 2024-26.
  • SOUL — predecessor to Cmajor (sunset 2022; Cmajor superseded it).
  • Faust — see above; Cmajor's main competitor in this niche.

Patcher / dataflow → exported plugin

  • RNBO (Cycling '74) — paid; the Max-patch-to-plugin / WASM export tool. Build a Max patch, export VST3 / AU / WASM / C++ for embedded boards.
  • Pure Data + libpd — free; embed Pd patches in iOS / Android / Unity / web (via WebPd).
  • HVCC (Heavy Compiler Collection / Enzien) — open Pd-vanilla → C++ / Daisy / Bela / browser. Powers many Daisy projects.

Live-codable / sclang

  • See live-coding-generative for SuperCollider, ChucK, Sonic Pi, TidalCycles.
  • scsynth as headless engine — many apps embed SuperCollider's audio server.

Browser / WebAudio frameworks

  • Web Audio API — W3C; native browser audio. JS-level.
  • AudioWorklet — modern WebAudio low-latency processing.
  • Tone.js — see media-players; high-level Web Audio framework.
  • Faust web IDE — compile Faust DSP → AudioWorklet for the browser.
  • WebAudio Modules (WAM) — emerging spec for browser-hosted audio plugins.
  • WebPd — run Pure Data patches in the browser.
  • Q.js / FaustWasm — Faust → WASM AudioWorklet pipeline.

Embedded / hardware DSP boards

  • Daisy Seed / Patch / Field (Electrosmith) — paid; ARM Cortex-M7 audio DSP boards. Program with C++ / Faust / Pd / Max-RNBO / Arduino. Massive open community.
  • Bela (Augmented Instruments) — paid; BeagleBone-based ultra-low-latency audio platform.
  • Eurorack DIY DSP boards — Mutable Instruments (now community-maintained), Befaco, Music Thing.
  • Norns (monome) — paid Lua-scriptable audio computer.

ML / neural DSP

  • PyTorch / TensorFlow audio — research-side.
  • NAM (Neural Amp Modeler) — see neural-amp-modeling; the open neural-DSP target.
  • RTNeural — MIT C++ inference for small neural nets in audio plugins; powers ChowDSP guitar plugins.
  • Steinberg ARA 2 SDK — for melodyne-style plugins integrating with the host.

Pick this if…

  • Cross-platform commercial plugin: JUCE.
  • MIT-licensed C++ plugin framework: iPlug2.
  • Linux-leaning OSS plugin: DPF.
  • High-level DSP language, FOSS: Faust.
  • High-level DSL, modern, near-C++ speed: Cmajor.
  • Patcher → plugin / WASM: RNBO (paid Max) or Pd + libpd / HVCC (free).
  • Pi / embedded DSP appliance: Daisy Seed (Faust + C++).
  • Browser audio: Web Audio API + AudioWorklet, or Faust → WASM.
  • Neural net inference inside a plugin: RTNeural.

On this page