DAFx26 — Demo session

Optimization for colorless reverberation

Probably the biggest challenge when designing an FDN is choosing the right parameters in order to minimize the coloration of the resulting reverberation. These examples optimize the feedback matrix A and the input and output gains bi and ci of a lossless FDN, on a real-time, non-differentiable implementation.

Method

The feedback matrix A and the input and output gains bi and ci of a lossless FDN are optimized to minimize the coloration of the resulting reverberation. The loss combines a spectral flatness and a temporal sparsity term, and is minimized with the Adam optimizer using gradients approximated by central finite differences. The delay lengths mi are kept constant, so each pair of examples below shares the same decay characteristics and differs only in coloration. The N = 16 example uses the circulant matrix, which requires N parameters instead of N2.

Full details are given in the paper and, at greater length, in the thesis:

Each example is a run of optim_tool from fdn_opt, driven by scripts/run_demo.py; see the README to reproduce them.

Results at a glance

Values are given as initial → optimized. The spectral flatness targets 0.5575; a lower temporal sparsity and a lower ℒcolor are better.

FDN Parameterization Spectral flatness Temporal sparsity Echo density @100 ms ℒcolor Time