All-Pass Reverb Calculator - Diffuser Delay Times for Bitwig Grid
Calculate all-pass delay times for smooth reverb tails. Pick a preset for plate, hall, shimmer, or metallic reverb, set the first and last delay in ms, and the calculator spaces each diffuser stage to avoid clustering and comb filtering.
Pick a reverb family, set how many all-pass stages you want, then shape the delay distribution from structured to diffuse. The tool keeps every stage unique, enforces a minimum gap, and estimates whether the chain will stay clean or start clustering.
| Stage | Delay | Gap to previous | Role |
|---|
Controls
Advanced controls
This is a design heuristic for diffuser timing, not a full physical reverb model. It helps you avoid obvious clumping when you chain all-pass delays and want a smoother tail with the fewest modules possible.
What This All-Pass Delay Calculator Does #
Chaining all-pass filters is the classic Schroeder trick for turning a raw delay line into a smooth reverb tail. The catch is that the delay times inside the chain need to be coprime and well spaced, otherwise the diffuser sounds metallic, flutters, or piles up obvious echoes. This tool generates a set of delay values in milliseconds for any number of all-pass stages, keeps each value unique, enforces a minimum gap, and gives you a diffusion score so you can see whether the chain will stay clean.
It works for any modular environment that exposes an all-pass delay module - Bitwig Grid, Reaktor, Max/MSP, VCV Rack, or a patch inside a synth with feedback delays.
How to Use It #
- Pick a reverb family (Room, Plate, Hall, Shimmer, Metallic). The preset sets sensible start and end delay times for that character.
- Choose how many all-pass modules you want to chain. The tool shows a recommended range per preset.
- Adjust the smoothness slider. Low values stay structured and comb-like, high values bias toward diffuse, prime-like spacing.
- Open Advanced controls to fine-tune the spacing curve, randomness, and minimum gap between stages.
- Copy the delay times from the table into each all-pass module in your patch.
Reverb Presets Explained #
- Room uses short delays (around 1 to 25 ms) for tight early reflections and small spaces.
- Plate targets 5 to 45 ms for a dense, bright plate reverb sound with plenty of mid energy.
- Hall stretches delays to 15 to 120 ms for long, deep hall tails.
- Shimmer / very diffuse spreads stages wide for the softest, most washed-out diffusion.
- Metallic / resonant keeps stages close together on purpose for comb-like, resonant character.
Why All-Pass Delay Spacing Matters #
An all-pass filter passes every frequency with equal amplitude but scrambles the phase. Feed a short delay into an all-pass stage and you get a single reflection smeared in time. Chain several stages with well chosen delay times and the reflections multiply exponentially, which is what makes a reverb tail sound dense and continuous instead of like a handful of distinct echoes.
If two delays are too close, or their ratios are simple (like 10 ms and 20 ms), the chain starts to ring at a specific frequency and you hear metallic coloration. Picking delay times that avoid small integer ratios and keeping a minimum gap between stages is the cheapest way to fix this without adding more modules.
FAQ #
How many all-pass modules do I need for a smooth reverb?
Four to eight stages is usually enough for a plate or hall sound. Shimmer and very diffuse tails benefit from eight to sixteen. Beyond that, extra stages give diminishing returns and cost CPU.
Does this replace a real reverb plugin?
No. It is a design helper for building diffusers inside modular patches. It helps you pick delay times that sound smooth, but you still need feedback, damping, and modulation to get a full reverb.
Can I use these values outside Bitwig Grid?
Yes. The delay times are plain milliseconds. Drop them into any all-pass, comb, or delay module in Reaktor, Max/MSP, VCV Rack, Pure Data, or a DSP environment of your choice.
What is the diffusion score?
A rough 0 to 100 estimate of how evenly your delay times fill the chosen range. Higher scores mean fewer clusters and a smoother tail.