I looked at this FDN reverb and it looks good. Having only four lines in the tank (the part that generates a reverb tail by feeding back the signal on itself) is a bit low, but understandable considering the limitations weâre dealing with here.
The only thing that I would have done differently would be to have a series of allpass filters placed before the main reverb tank; by having five to ten all pass filters (filter/allpass.axo) in series before the main tank, we can smear percussive transients so that they do not rattle in the reverberant tail. Another way to smear the transients is to use a short noise burst in a convolution; even a 10-30ms noise burst convoluted should reduce or eliminate the rattle of a percussive sound before it hits the main reverb tank. I donât see a convoluter in the objects, but the CMSIS library ARM made and included in the main Axoloti distribution has a few optimized convolution libraries.
I also find it interesting that all four lines in this FDN tank have the same initial delay time, but, of course, since they are modulated differently, they end up having different delay times.
Also: While the Schroeder reverberator is frequently published in the academic community, itâs almost never used commercially. It tends to sound metallic and unpleasant; even the highly optimized âFreeverbâ Schroeder reverb (which probably sounds as good as a Schroeder can) doesnât sound that good to my ears. One good starting point is the Griesinger-based (that means Lexicon) reverb algorithm (the âfigure eightâ design), which became a matter of public record back in 1997: https://ccrma.stanford.edu/~dattorro/EffectDesignPart1.pdf