This patch is based off a reverb algorithm that Sean Costello of ValhallaDSP reproduced in his tribute to Keith Barr, upon Barr’s passing in 2010 (https://valhalladsp.com/2010/08/25/rip-keith-barr/).
For those who don’t know, Keith Barr was a giant in the world of DSP development, first founding MXR, before starting Alesis, and then bringing the FV-1 chip to the world (this chip is the beating heart at the center of many of your favorite pedals — the list is virtually endless, but the MOOD and Generation Loss are two popular examples).
The reverb topology Barr shared is a computationally efficient loop, marvelously simple in the best way. It excels at a certain kind of “algorithmic reverb” sound: no one would mistake it for a realistic hall; instead of reproducing a space, it synthesizes an entirely new one.
That topology forms the center of this patch, but I have added a lot to it, as well — separate high and low decay rates, some lovely modulation, an attack control to allow you to smooth out transients, and a regeneration suppression to duck the feedback path when new audio is detected, among others.
Oh, and a “delay” mode, that expands the range of the size control from 200 milliseconds to nearly 16 seconds, allowing you to create spinning, atmospheric delay soundscapes.
I hope, in this way, the patch honors Keith Barr; it is his topology that made it possible, and I hope that it is in his spirit that I take this patch beyond the algorithmic reverb.
The patch is true stereo throughout.
This patch requires firmware 2.0. (https://empresseffects.freshdesk.com/support/solutions/articles/1000275389-updating-firmware-on-the-zoia)
Special thanks to Mike Moger for his constructive feedback during development.
Left, latching — toggles the decay to maximum
Middle, latching (also reproduced in a UI button at the bottom of the control page) — switches between “reverb” and “delay” ranges for the Size control
Across the top are controls for the reverb decay. This is a bit complicated, but:
There are individual LOW and HIGH DECAY settings, with a CROSSOVER frequency control to set where low and high bands diverge. There is also a DECAY control — think of this as a master decay, which can be quickly adjusted, with the low and high options available for fine-tuning.
Below this are controls that affect the input and output of the reverb tank. PRE-DELAY is up to 1 second, and its control is linear (so a setting of .200 corresponds to 200 milliseconds). ATTACK introduces an slew to the envelope follower controlled VCA, allowing you to smooth transients. REGEN SUPPRESSOR allows you to duck the regeneration or feedback of the reverb/decay, so that new sounds overtake old ones (particularly useful when the decay is set to infinite or near-infinite). Finally, a PANNING control allows you to spread the voices across the stereo field — it is an interesting control, as along with increasing the stereo spread, it also expands the width of the artificial space. (I would suggest trying it with an expression pedal connected, via a Cport module.)
The next row deals with the reverb tank. SIZE defines the spacing of the delay lines and the sample length of the diffusers, with larger values producing longer delays and therefore larger spaces (the parameter changes, depending on whether the patch is “reverb” mode or “delay” mode, with reverb mode having delays of up to 200 milliseconds, and delay mode having delays of up to almost 16 seconds). VOICING and ECHO DENSITY correspond to the gain of the diffuser and the diffuser size, respectively, and are highly interactive. I’ve tried to adjust their range such that every position offers a useful “feel” for the reverb, but there may be positions you prefer; in general, the reverb sounds more “full” with VOICING and ECHO DENSITY set to ~.800. ECHO MOD governs the modulation of the diffusers, which can produce a more washed out sound.
The row below this controls a separate modulation circuit. MOD RATE and MOD DEPTH control delay line modulation. Use these to produce some lovely, chorused sounds.
Along the bottom row at WET and DRY levels. There is also a UI button to enter delay mode (replicated by the middle stompswitch). Beside this is a control called SHIFT RATE. When changing the time of delay lines, pitch artifacts are introduced; shift rate will determine how fast or slow the delay time changes when moving between modes. There is a hidden feature here: when the shift rate is set to 0, the patch will be muted while it changes modes (this depends on the size control, with greater sizes requiring much longer periods of muting); this will keep the pitch artifacts from being introduced into the output, as they may be undesirable.