ADAC compiler turns differentiable audio graphs into real-time DSP
This compiler automates the translation of ML-trained audio processors to efficient FAUST code.
Differentiable audio processors are typically designed and optimized in machine-learning frameworks (e.g., PyTorch, TensorFlow) but deploying them as real-time audio effects often demands manual reimplementation in specialized DSP languages like FAUST, C++, or Pure Data. This manual translation is error-prone, requires time-consuming verification, and creates a gap between research prototypes and usable tools. To solve this, Facundo Franchino and Sebastian J. Schlecht introduce ADAC, a compiler that automatically transforms a trained differentiable audio model into a framework-agnostic intermediate representation and then emits efficient FAUST code.
ADAC guarantees that the exported processor's impulse response matches the original model to within floating-point arithmetic noise, including any direct signal paths. The compiler also injects a small set of macro-controls that allow parameter changes without breaking stability, and computes a stability certificate from the shipped parameters—checked before the plugin is built. A unique feature makes the optimization loop audible by swapping the model inside a running plugin after each gradient step. In their demonstration, the authors trained a feedback delay network and successfully exported it to a working real-time plugin, proving the approach viable for production audio effects.
- ADAC compiles models from ML frameworks into FAUST code with impulse response accuracy to floating-point noise.
- Includes a stability certificate that validates parameters before plugin compilation, ensuring robust real-time use.
- Demonstrated with a trained feedback delay network exported to a working plugin, showing practical deployment.
Why It Matters
Automates the tricky translation of ML audio models to real-time tools, accelerating DSP development and prototyping.