Thank you very much, tomorrow I'll look at your lines! Really kind
On Tue, Sep 25, 2012 at 11:37 PM, Michael Heuer
Alberto Alassio wrote:
but what if I want to do this with 2 sines?
I mean, for example
Sineosc s1 that sounds and stop the same freq every 2 second, and another Sineosc thats sound at the same freq every 1 second I can use while true and put everthing in the bracklets. Right? Is it possible to do the same thing also with the For structure you mentioned?
And what about
sineosc s1 at 220 hz that goes on and off every 2 seconds sineosc s2 that has a random frequency ( std.rand2f for example ) How could I manage this situation with while? I need while ( true ) to make it in an infinite loop but I also need to make the random freq goes on!
If you do this
SinOsc s1 => dac; 220.0 => s1.freq; for (0 => int i; i < 10; i++) { 0.2 => s1.gain; 2::second => now; 0.0 => s1.gain; 2::second => now; }
SinOsc s2 => dac; for (0 => int i; i < 10; i++) { Std.rand2f(130.0, 440.0) => s2.freq; 0.2 => s2.gain; 2::second => now; 0.0 => s2.gain; 2::second => now; }
then s2 will follow s1.
If you want them to go simultaneously, then you'll need to put one or both loops in a function and spork the function call, for example
SinOsc s1 => dac; 220.0 => s1.freq; spork ~ loop1();
SinOsc s2 => dac; spork ~ loop2();
<<<"waiting on main shred">>>; 2::minute => now;
fun void loop1() { <<<"sporked loop1">>>; for (0 => int i; i < 10; i++) { 0.2 => s1.gain; 2::second => now; 0.0 => s1.gain; 2::second => now; } <<<"loop1 done">>>; }
fun void loop2() { <<<"sporked loop2">>>; for (0 => int i; i < 10; i++) { Std.rand2f(130.0, 440.0) => s2.freq; 0.2 => s2.gain; 2::second => now; 0.0 => s2.gain; 2::second => now; } <<<"loop2 done">>>; }
michael _______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users