Trebor wrote:I'm nitpicking here, but shouldn't each echo should have less high-frequency content than the previous one
Yes, to sound more authentic, it should, but have you looked at the code?
It's a pretty simple effect, with the heavy lifting (except for the final "normalize" step) handled efficiently in Nyquist's DSP primitives (written in C). The advantages of this are speed, efficiency, and only a small amount of Nyquist code.
The downside is that there's only a limited amount of customisation of the DSP units available. In particular, it's not possible to insert additional processing within the delay loop. Nevertheless, when the echoes are kept reasonably low compared to the reverb, I think the effect is pretty good for such a simple and convenient effect.
It IS possible to construct feedback delay with a low-pass filter inserted in the delay loop, by writing the loop as a LISP loop, but I was really interested in doing this with the built-in primitives.
As always, thanks for your feedback Trebor (pun half-intended