arXiv Science⌕ Search

arXiv subjects

Facundo Franchino

Publications and source records attributed to Facundo Franchino.

5 recordsLinked to original sources

Structured Pruning of Feedback Delay Networks

Feedback delay networks (FDNs) are recursive filter structures used to synthesise artificial reverberation. Their feedback matrix governs both energy exchange between delay lines and the computation required at every sample, making its design central to balancing an FDN's acoustic performance and implementation efficiency. In this work, we develop an FDN-specific structured pruning method that connects these acoustic and computational concerns, allowing high-order dense orthogonal designs to be fitted to efficient implementations. The feedback matrix is replaced by stages of fixed permutations and small orthogonal blocks. We characterise connectivity growth with the network depth and derive exact conditional block updates for matrix fitting, followed by refinement against the reference FDN magnitude response. The resulting factors admit direct vectorised evaluation, with arithmetic cost and coefficient storage scaling linearly with network size for fixed block size and depth. On an Apple M2, the selected staged kernels achieve feedback-multiplication speedups over dense BLAS ranging from approximately threefold to over twentyfold across the tested network sizes, while substantially reducing coefficient storage. Objective metrics and listening tests indicate that the proposed staged approximations closely preserve the spectral and temporal character of their dense references. An analysis of processor utilisation and register reuse explains why execution time depends on more than the operation count. Finally, block size and depth provide practical control over response fidelity, storage, and real-time cost, allowing acoustic design to precede the choice of an efficient implementation.

eess.AS↗

pyFDN: A Python Toolbox for Feedback Delay Network Design, Analysis, and Optimization

Feedback delay networks (FDNs) provide a compact representation of recursive audio systems for artificial reverberation and decorrelation. Their practical use spans structured matrix design, acoustic decay shaping, numerical simulation, and modal analysis, increasingly combined with differentiable optimization. We present pyFDN, an open-source Python toolbox that brings these operations into a common workflow. The library combines numerical design and analysis routines with block-based time-domain processing and integration with FLAMO for frequency-domain differentiable processing. Explicit network builds and JSON presets connect design, optimization, rendering, and reuse. This paper describes the software architecture, representative capabilities, and reproducibility mechanisms of version 0.5.0, providing a reference for research and teaching that use the toolbox.

eess.AS↗

Exact Factorisation and Fast Computation of Invertible Constant-Q Transforms

The constant-Q transform (CQT) represents audio on a logarithmic frequency axis. Its nonstationary Gabor formulation is exactly invertible, but the unequal numbers of time coefficients in its bands complicate GPU computation. An exact factorisation combines spectral selection, conjugation, windowing, and reordering into a fixed map between one packed Fourier transform and the shorter band inverse transforms. The factors give waveform reconstruction, real adjoints for backpropagation, and bounds on arithmetic depth and block width; overlapping slices permit streaming with bounded memory. Tests on two GPU models show that Flash-CQT reduces analysis-synthesis round-trip time by factors of two to eight relative to a baseline computing the same CQT. The proposed implementation also uses over 30% less peak temporary workspace and reaches a negligible reconstruction error, with a signal-to-noise ratio of about 130 dB, in single-precision floating-point arithmetic. These advances make Flash-CQT a practical, computationally efficient front end for spectral analysis and modern audio machine-learning systems.

eess.SP↗

Compiling Differentiable Audio Graphs to Real-Time DSP

Differentiable audio processors are habitually designed and optimised in machine-learning frameworks, but deploying them as real-time audio effects still often requires non-automatic implementation in a dedicated digital signal processing language. The translation is error-prone, demands an onerous verification process, and detaches research prototypes from usable production tools. That being so, we present ADAC, a compiler that lowers a trained model to a framework-agnostic intermediate representation and emits efficient FAUST code whose impulse response matches the source model to within floating-point arithmetic noise, direct paths included. The optimisation loop is made audible by replacing the model in a running plugin after each gradient step. The exported processor carries a small set of macro-controls that leave its stability intact. A stability certificate computed from the shipped parameters is checked before the plugin is built. At the demonstration, a feedback delay network is trained and exported to a working plugin.

eess.AS↗

A Dual-Mode Faust-to-CLAP 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.

eess.AS↗