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

Reply via email to