Hi Julius, On 08/17, Julius Smith wrote: > > Hi Oleg, > > This looks good to me. I believe I wrote the original fb_comb in > filter.lib, but I don't remember the extra output delay at all. If I did > it, my wild guess is that I was working from some old CCRMA documentation > for unit generators on the Samson Box that had the extra delay due to its > hardware constraints. I do recall aiming to reproduce the main > reverberators in use at CCRMA back in the day. I can also imagine it's to > ensure that the forward delay is at least one so that one can throw > feedback around fb_comb. That seems reasonable for users who might get > into trouble otherwise.
Thanks! I was afraid I missed some subtleties in this simple code ;) > While I am happy to adopt any equivalent rewrite, maybe it is too obvious > to mention that we should keep the extra delay (assuming it was introduced > long ago), simply to not break anything that depends on it. Sure, agreed. but again, even if we keep the extra delay we can rewrite fb_comb() as fb_comb(maxdel,N,b0,aN) = + ~ -aN * de.delay(maxdel,N-1) : *(b0) : mem; to make it simpler, generate a better code, and avoid the extra fRec[2] delay line. Same for fb_fcomb(). > We could use a > new name for your leaner version. Well... not sure the new helper makes sense, but may be something like fb_xxx(dop,N,b0,aN) = + ~ -aN * dop(N-1) : *(b0); Then we can rewrite fb_comb/fb_fcomb as fb_comb(maxdel) = fb_xxx(de.delay(maxdel)) : mem; fb_fcomb(maxdel) = fb_xxx(de.fdelay(maxdel)) : mem; and I actually did this to use fb_xxx(de.fdelay4a(maxdel)) because delay/fdelay didn't work well for me. Oleg. _______________________________________________ Faudiostream-users mailing list Faudiostream-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/faudiostream-users