Forums > Gen

[sharing for requesting help] trying to make a feedback delay network in gen~

May 19, 2014 | 11:41 am

Hey,
Feedback delay network is documented here : https://ccrma.stanford.edu/~jos/cfdn/Feedback_Delay_Networks.html
It seems to be like a lot of delay lines in parallel that are fed back into each other.
My skills in math/dsp are limited, so i assumed that the matrix at the top of the figure "Order 3 Feedback Delay Network." is just meaning that all sounds are summed up. But maybe i’m wrong ?..
There is a really cool fdn~ object in PureDatak, i’m trying to "replicate" it in gen~.
Of course as the pd one has inners guts that create (nearly) any number of delay lines, it’s not the same, but it still can be cool i think.
I’m not sure how to do this. Is it like this ?

– Pasted Max Patch, click to expand. –

June 6, 2014 | 3:36 pm

Noone, really ? :/…
is that topic complicated for everyone, or am i really on that much of a bad track ?..


June 7, 2014 | 10:18 pm

your patch seems simple enough, but i’m not sure if it really follows the math described at the jos link… so i’m trying to read and understand that link at my leisure(it does seem a bit more complicated at first glance), and if i eventually figure something helpful out, will certainly post here, as i find this thread very interesting.

in the meantime, here’s a bump to help get anyone else’s advice :)

(also, if anyone here had the c source code for the puredata fdn~ object and felt like attaching just that here(i couldn’t find just the one file very easily without the rest of the whole source distro) or could link to that specific file on sourceforge, might help alot… but just an idea… sorry in advance for my ignorance about getting pd-source-code :p)


June 7, 2014 | 11:09 pm

fdn~ is inside the creb lib http://sourceforge.net/projects/pure-data/files/libraries/creb/

or here http://zwizwa.be/darcs/creb/

Also FWIW Pluggo for Live has a Feedback Network patch you might want to look at.

  • This reply was modified 1 month by  Rick.

June 8, 2014 | 4:11 am

@raja : i’m trying to translate the fdn~ from Pd to max also, see that thread : http://cycling74.com/forums/topic/trying-to-compile-only-2-errors-left/
but probably better not start from there, i completely bonked the source. The only useful things i learned with that so far is that -it seems possible, and -you need to enforce the variant -fnested-functions in the "other c flags" field.

@Rick : let me link to the fdn~ source direclty, if i may ! http://zwizwa.be/darcs/creb/modules/fdn~.c and didn’t know that pluggo thing
there is also an example of feedbak delay network inside a reverb in gen~, in the example/gen folder. it’s the gigaverb~. From that and other sources, i inferred that the math for feedback delay networks includes substracting some of the delay lines, and adding others and feed a different result in each feedback delay line, and maybe calculating feedback coefficients a little more carefully. So there is math needed and that simple attempt certainely is not close to that.

Thanks !
(i try a lot.)

  • This reply was modified 1 month by  vichug.

June 8, 2014 | 10:59 am

"@Rick : let me link to the fdn~ source direclty, if i may ! http://zwizwa.be/darcs/creb/modules/fdn~.c"

YES! this is what i wanted, not the library, but just that one file. thanks so much! will take a look…


Viewing 6 posts - 1 through 6 (of 6 total)