Hi James,

Thanks for your suggestions. I need to read this more carefully, but can
you elaborate on "The proposed ondemand helps somewhat with 1, and not at
all with 2 or 3."?

>From my side, a more complete description of ondemand:
https://drive.google.com/file/d/1LkT8KviWocnzt6hqRsLlSri5uwVDWI5p/view?usp=sharing
with a new section on combining on-demands.

Cheers

Yann

*Yann Orlarey*
Directeur scientifique/Scientific director


orla...@grame.fr <x...@grame.fr> T : +33 (0) 4 72 07 37 00
GRAME - Centre national de création musicale
11 cours de Verdun Gensoul | 69002 Lyon
www.grame.fr | facebook <https://www.facebook.com/Gramelyon/> | instagram
<https://www.instagram.com/grame_cncm/> | twitter
<https://twitter.com/GRAME_LYON>


Le mer. 12 août 2020 à 14:20, James Mckernon <jmcker...@gmail.com> a écrit :

> ondemand looks cool, Yann; thanks for writing that up.
>
> I guess it's worth breaking down what makes demand ugens in SC nice to
> work with. I can think of three properties worth discussing:
>
> 1. As already discussed, they respond with a new value when their
> trigger input is nonzero and reset their state when their trigger
> input is nonzero.
> 2. They embed child demand elements in their stream. (Actually, it's
> been a long time since I worked with them, and I'm just going from
> memory, so I'm not sure about this point. Perhaps Til can correct me
> if I'm wrong.) That is, DSeq([DSeq([1, 2]), DSeq([3, 4])]) will yield
> 1, 2, 3, 4 - i.e. all elements are requested from the first child DSeq
> before requesting one from the second.
> 3. They propagate values sent to their trigger/reset inputs. i.e.,
> when triggered, a demand ugen will trigger its active child demand
> ugen; when reset, it will reset all of its children.
>
> So 1 relates to how they behave in isolation, and 2/3 are about how
> they behave when nested. (I'm not sure, but I don't think 3 is useful
> without 2.) 2 and 3 are cool, but to get them working in faust seems
> complex, maybe too complex (though I have been thinking of ways to
> achieve it). Nonetheless, 1 is useful enough on its own that I believe
> it would be worthwhile even without 2/3. The proposed ondemand helps
> somewhat with 1, and not at all with 2 or 3.
>
> Although a general-purpose ondemand signal transformer (as in the
> proposed primitive) would make things easier in some respects, it
> seems to me (I wonder whether others will agree) that it is best to do
> this with the simplest tools available. (I suppose I am thinking of
> the 'rule of least power':
> https://en.wikipedia.org/wiki/Rule_of_least_power .) In other words,
> if it is possible to implement most of what one would want from a
> demand-rate processor with existing language constructs, it is
> probably better to do so than to implement a new language construct
> for this case.
>
> I have been sketching out some code implementing a couple of
> demand-rate ugens which I intend to post this weekend. (Not including
> the embedding behaviour, i.e. 2/3 above.) The specific ugens from SC
> that seem to me most useful and practical to implement are DSeq,
> DSeries, DRand, DWhite, and DWRand. (Til, if you (or anyone else) have
> any suggestions for other particular demand-rate ugens from SC which
> would be good to have in faust then let me know.)
>
> I would be interested to hear anyone's thoughts on the above.
>
> Cheers,
> James
>
>
> On 8/7/20, Yann Orlarey <orla...@grame.fr> wrote:
> > Hi Till,
> >
> > Thank you very much for your detailed answer. It's very helpful. On my
> > side, I tried to formalize my ideas for an on-demand primitive. A
> > description is available here:
> >
> https://drive.google.com/file/d/1mEKkW3fKl9Ik8zsClxMzlMWKBjGl-teK/view?usp=sharing
> .
> > This is still very partial and many aspects remain to be detailed...
> >
> > Yann
> >
> > *Yann Orlarey*
> > Directeur scientifique/Scientific director
> >
> >
> > orla...@grame.fr <x...@grame.fr> T : +33 (0) 4 72 07 37 00
> > GRAME - Centre national de création musicale
> > 11 cours de Verdun Gensoul | 69002 Lyon
> > www.grame.fr | facebook <https://www.facebook.com/Gramelyon/> |
> instagram
> > <https://www.instagram.com/grame_cncm/> | twitter
> > <https://twitter.com/GRAME_LYON>
>
_______________________________________________
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users

Reply via email to