FREE 🔥 ODDDIST — Distortion, now completely FREE. Powered by ODD ENGINE. 🎛️

Inside the tank: eight delay lines and a Householder matrix

The core of EvoraVerb is a feedback delay network. Eight delay lines, each feeding all the others through a matrix. Here is what is actually inside it and why each choice is there.

Why a network and not a room

There are two ways to build a reverb. You can measure a real space and convolve your signal with that measurement, which sounds exactly like that space and nothing else. Or you can build a network of delays that feed back into each other until the echoes are too dense to count, which sounds like a space that never existed but can be any size you want.

EvoraVerb takes the second route. It costs a fraction of the CPU of a convolution and, more importantly, its size is a parameter rather than a different impulse response.

Eight lines that do not agree

The tank holds eight delay lines with base lengths of roughly 29.7, 37.1, 41.3, 47.9, 53.7, 59.3, 67.1 and 73.9 milliseconds. Those numbers are not round on purpose: they are chosen to be mutually prime so their resonances never line up.

Delay lengths that share factors reinforce each other at the same frequencies, and a listener hears that as a metallic ring sitting on top of the tail. Keeping them coprime spreads the resonances instead of stacking them.

The whole set scales between 0.4× and 2.0× with the size parameter, so the relationship between the lines holds at every room size.

The matrix

What turns eight delays into a reverb rather than eight echoes is what happens between them. Every sample, the outputs of all eight lines are mixed through a Householder matrix and fed back in.

Two properties make it the right choice. It is energy preserving, so the matrix itself neither builds up nor loses signal and the decay time is set purely by the feedback gain. And it spreads every line into all the others, so an impulse that enters one line is present in all eight within a single pass. Echo density rises fast, which is exactly what makes a tail sound continuous instead of granular.

Feedback derived from the real delay

The feedback gain sets how long the tail lasts. The usual shortcut is to compute it once from a nominal delay length and leave it there.

EvoraVerb computes it from the actual mean delay of the eight lines at that sample, capped at 0.97. It costs a little more arithmetic, and it means a decay of 6 seconds is 6 seconds whether the room is small or huge. With a fixed approximation, changing size drags the decay time with it and the control stops meaning what it says.

True stereo, and how it collapses

Left goes into the even lines, right into the odd ones, with the sign alternating in pairs so the energy spreads without cancelling.

That gives a genuinely stereo injection rather than a mono sum sprayed across the outputs. And because the Householder matrix mixes all eight lines every pass, the two channels blend inside the tank on their own, over time. Early in the tail the image is wide and clearly stereo; by the end the channels have fused, which is what happens in a real room.

What the tank is fed

One detail matters more than any of the above: the FDN is not fed the dry signal.

The input passes through a stereo pre-delay, then a bank of eight early reflections per channel, then four allpass diffusion stages, and only then reaches the tank. By that point the signal is already a dense cloud spread over tens of milliseconds.

Feed a bare impulse into eight resonators and you hear eight resonators. Feed them a cloud and they only have to sustain and blur something that already exists. That single ordering decision is most of the difference between a tail that sounds like a room and one that sounds like a comb filter.