NablAFx: A Framework for Differentiable Black-box and Gray-box Modeling of Audio Effects
Marco Comunità, Christian J. Steinmetz, Joshua D. Reiss
TL;DR
NablAFx addresses the need for reproducible tools to study differentiable black-box and gray-box audio effects by providing a PyTorch Lightning-based framework that unifies models, datasets, training, losses, metrics, and plotting. It formalizes black-box models with $y=f(x,c)$ and gray-box chains as $y=(f_1 \circ f_2 \circ \dots \circ f_N)(x,c)$, and introduces differentiable audio processors (biquads, FIRs, nonlinearities) and controllers to build parametric and time-varying signal chains. New conditioning schemes (TTFiLM, TVFiLM) enable efficient time-varying control, and the paper demonstrates these through experiments on a fuzz pedal emulation, showing that certain conditioned gray-box configurations outperform baselines. The open-source release, comprehensive logging/plotting, and standardized evaluation enable robust benchmarking and rapid exploration of architectures for audio effects modeling.
Abstract
We present NablAFx, an open-source framework developed to support research in differentiable black-box and gray-box modeling of audio effects. Built in PyTorch, NablAFx offers a versatile ecosystem to configure, train, evaluate, and compare various architectural approaches. It includes classes to manage model architectures, datasets, and training, along with features to compute and log losses, metrics and media, and plotting functions to facilitate detailed analysis. It incorporates implementations of established black-box architectures and conditioning methods, as well as differentiable DSP blocks and controllers, enabling the creation of both parametric and non-parametric gray-box signal chains. The code is accessible at https://github.com/mcomunita/nablafx.
