Allpass reverb with short times

DSP, Plugin and Host development discussion.
RELATED
PRODUCTS
rafa1981
KVRian
Topic Starter
861 posts since 4 Jan, 2007

Post Fri Feb 03, 2023 7:20 am

I have been playing on an off with lofi allpass reverbs (16 bit, fixed point, reduced sample rate). Basically throwing spaghetti at the wall an seeing what sticks.

What I'm finding is that for longish reverbs acceptable things can be achieved by e.g. tweaking the Datorro's figure 8 topology.

For very short reverbs (<0.5s range) the story is very different though. It is either having a metallic sound, having not enough density or a too slow of a response.

For that type of short reverbs I'm not even using feedback as the tail has to be very short, e.g. the last thing I tried is 2 plain allpasses in series with 2 nested allpasses and after that some short allpass cascades to create some stereo, being these different between L and R. The nested allpass blocks being an allpass nesting 2 allpasses + a lowpass.

Is there some architecture worth looking for or am I looking at the limits of what allpass loops can achieve?

User avatar
Richard_Synapse
KVRian
1110 posts since 20 Dec, 2010

Post Wed Feb 08, 2023 1:26 am

This issue is completely normal. What you can do is to change the network parameters with reverb time. So you adapt both the allpass coefficients, as well as the output taps, to the desired reverb length.

I personally prefer separate algorithms or a separate set of delay lengths to get (very) short reverb times, however.

Richard
Synapse Audio Software - www.synapse-audio.com

rafa1981
KVRian
Topic Starter
861 posts since 4 Jan, 2007

Post Wed Feb 08, 2023 4:56 am

Yes, my intention is doing some simple algorithms "good" at one thing over a limited decay range.

So starting from a blank paper I wasn't achieving much with short reverbs, while for longer reverbs it seems to be a bit easier.

I was already modulating allpass times (sine) but not the coefficients. More things to try, thanks.

Probably this could have been interesting but it is a hard read for me, something for the future maybe...
https://www.dafx.de/paper-archive/2020/ ... per_59.pdf

User avatar
mystran
KVRAF
7362 posts since 12 Feb, 2006 from Helsinki, Finland

Post Wed Feb 08, 2023 5:40 am

The thing about all-pass filters is that while they are spectrally white in theory (so you can put them into a loop and not worry about it blowing up), the ear still picks up the periodicity of the decay, especially if they are short. While the figure-8 topology is great for long tails, I don't think all-pass filters are ideal for shorter reverbs.

For short reverbs, I'd try something like this sort of "feed-forward" diffuser, perhaps with an FDN tail: https://signalsmith-audio.co.uk/writing ... l-diffuser

I feel like it's pretty hard to get a truly smooth late tail out of an FDN, but this isn't really a problem if the reverb decays fast anyway and they diffuse fairly quickly, so you just need your pre-diffuser to smooth out the beginning enough to warm up the FDN delays.
Seeking asylum in any country willing to acknowledge my right to exist.

rafa1981
KVRian
Topic Starter
861 posts since 4 Jan, 2007

Post Wed Feb 08, 2023 9:51 am

That's actually a good idea. Thanks Mystran. I will try that and some FDN/allpass (with low coefficient) hybrids. I did an FDN reverb as my first reverb and while not horrible it wasn't that easy to change the sound as you say.

What I found, trivial, but that is easy to overlook for novices is that sometimes plain gains (attenuations) between allpass groups seem to help a lot to shape the tail. Plain delays too of course, but this is more obvious from looking at known architectures.

User avatar
Markus Krause
KVRAF
1625 posts since 2 Jul, 2018

Post Sat Feb 11, 2023 11:28 pm

It's very difficult to create a reverb that sounds good for very large as well small spaces at the same time. You'll have to morph several parameters with the size
Tone2 Audiosoftware https://www.tone2.com

rafa1981
KVRian
Topic Starter
861 posts since 4 Jan, 2007

Post Wed Mar 15, 2023 1:09 pm

Just to update, mystrans solution had slow attack until I went 16 wide, it probably was me not managing to do something sensible.

But I got inspired by the FDN stuff (my first bad reverb was a FDN), so to gain more density I decided to run an hybrid of FDN and allpass chain.

Basically two 4-wide FDNs in series inside a loop with standard hadamard matrix, we could call it FDN figure 8, using pretty similar but not equal delays tending to the short side: 1-3 meters (I don't remember the milliseconds). Then adjusted delay sizes using medium decay times until it didn't sound horrible (but still bad).

Then each of the paths of the matrix has a 3 level nested allpass (8 total) with extremely low coefficients. It still gains density very fast. For a first guess of the times I used this paper below, using as delay time the delay times I had from the FDN delays:
https://www.google.com/url?q=http://www ... xpeJu6NHnZ

Then modulating coefficients it did sound acceptable. Modulating allpass times or delay times, while sometimes sounded good, other times it added metallicity.
Last edited by rafa1981 on Wed Mar 15, 2023 11:40 pm, edited 1 time in total.

User avatar
mystran
KVRAF
7362 posts since 12 Feb, 2006 from Helsinki, Finland

Post Wed Mar 15, 2023 11:21 pm

rafa1981 wrote: Wed Mar 15, 2023 1:09 pm Just to update, mystrans solution had slow attack until I went 16 wide, it probably was me not managing to do something sensible.
The feedforward diffusions? You might wanna go deep rather than wide. If one stage is N-wide, then the number of echoes increases as N^M with M stages, so really in terms of memory at least 2-wide is actually optimal when it comes to increasing density, especially given that one channel should always be delay free (otherwise you get bulk delay). Going slightly wider than 2 can make things smoother by increasing the complexity of the echo patterns, but chaining multiple stages is where the magic's at.
Seeking asylum in any country willing to acknowledge my right to exist.

rafa1981
KVRian
Topic Starter
861 posts since 4 Jan, 2007

Post Thu Mar 16, 2023 12:01 am

mystran wrote: Wed Mar 15, 2023 11:21 pm The feedforward diffusions? ...
That explains a lot. Thanks.

I started with 4x4 stages but I was using probably too big and spread delay times. I also didn't have a direct path on any channel, so it was sounding like a predelay. The density wasn't to rave about. Then I changed to 8 and then to 16 wide and the density got more or less satisfactory but probably kind of excessive for the CPU use I'm aiming for. Also it was a bizarre amount of delay times to tweak and the total delay was still too high for a room.

Probably here it is explained a bit differently, as he goes also for more width:
https://signalsmith-audio.co.uk/writing ... -a-reverb/

I will revisit this at some point.

Return to “DSP and Plugin Development”