Hi Rich, I am not familiar with this code, but thanks for the pointers.
You have the right idea. ma.SR/freq needs to equal the round-trip delay up and down the waveguide, adding up all delay line lengths, all filter delays, and the feedback delay from the Faust compiler (there's always at least one sample of that in any closed loop). Cheers, Julius On Fri, Oct 9, 2020 at 6:55 AM Rich Cochrane <rich.cochr...@bigi.org.uk> wrote: > Hello, > > I'm trying to learn Faust's physical modeling features "by > experimentation" so am blundering around a bit. > > I found the last example on this page comprehensible: "Waveguide-Strings > in Faust": > https://hvc.berlin/Sound_Synthesis/Physical_Modeling/physical-modeling-faust-examples/ > > I wanted to be able to play it with a keyboard. I thought this might work: > > segment(pos) = waveguide(nMax,n) > with{ > nMax = ma.SR/freq; > n = pos * nMax; > }; > > Where freq is the usual frequency value triggered by a MIDI keyboard. But > the result is a long way out of tune. > > I tried "nMax = freq : pm.f2l : pm.l2s;" instead but this appears to have > the same net effect -- at least, it's also out of tune. > > What's the proper way to do this? Or is this base code not the right > starting point for this? > > Cheers, > > Rich > > > _______________________________________________ > Faudiostream-users mailing list > Faudiostream-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/faudiostream-users > -- "Anybody who knows all about nothing knows everything" -- Leonard Susskind
_______________________________________________ Faudiostream-users mailing list Faudiostream-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/faudiostream-users