Search papers, labs, and topics across Lattice.
The paper introduces faust2clap, a novel framework that creates a compilation pathway from Faust DSP specifications to the CLAP format, addressing inefficiencies in audio software development. It operates in two modes: a static mode for optimal native binary compilation and a dynamic mode that allows for real-time code modifications without halting the host application. Key innovations include an address-based identity matching algorithm and a stable slot allocation scheme to maintain parameter integrity during DSP structural changes, significantly streamlining the edit-compile-reload cycle.
Real-time code modifications in audio software are now possible without interrupting the host application, thanks to a groundbreaking dual-mode compilation system.
We describe faust2clap, a framework establishing the first officially maintained compilation pathway from Faust DSP specifications to the CLAP format. The system operates in two different modes. A static mode employs ahead-of-time compilation to yield native binaries of optimal efficiency, while a dynamic mode uses runtime interpretation to permit DSP code modification without interrupting the host application. This latter capability addresses a persistent friction in audio software development, namely the cumulative overhead of the edit, compile, and reload cycle. We detail the algorithmic machinery underlying both modes, focusing specifically on the problem of parameter identity. To preserve both parameter values and their bindings to host automation across structural DSP mutations, we introduce an address-based identity matching algorithm and a stable slot allocation scheme. The implementation, comprising approximately 2,400 lines of C++ architecture and Python tooling code, has been integrated into the main Faust distribution.