One way is (hold a random value for n samples):
hold (n) = aloop ~ (_,_) : (!,_)
with {
aloop (count, val1) =
if(count<(n), count+1, 1),
if(count==n, rand, val1);
};
You can extend aloop(count,val1,val2,...) to output more channels in parallel.
--
Urban Schlemmer
- Diplomtonmeister -\\
- Formation supérieure aux métiers du son (FSMS) -\\
http://chiselapp.com/user/jcage/repository/rdk
www.dsp.guru
> Gesendet: Donnerstag, 08. August 2019 um 15:21 Uhr
> Von: "Japina" <[email protected]>
> An: "Faust users" <[email protected]>
> Betreff: [Faudiostream-users] function hold
>
> Is it possible to make the faust program hold the function instead of value?
> I come from general purpose programming languages, so I need to change the
> way I’m thinking of programming here :)
>
> Here is the example script:
>
> up_function {}
> down_function {}
>
> if (current_sample == 1) {
> select down_function
> }
>
> if (current_sample == -1) {
> select up_function
> }
>
> How can I do something like that in Faust?
>
> Thanks.
>
> B.
>
> _______________________________________________
> Faudiostream-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/faudiostream-users
>
_______________________________________________
Faudiostream-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/faudiostream-users