*** empty log message ***
[chuck-blob.git] / v2 / examples / stk / bowed2.ck
bloba5da22b5686d58b76318f078e7da9b0508fc084c
1 // patch
2 Bowed bow => dac;
4 // scale
5 [0, 2, 4, 7, 8, 11] @=> int scale[];
7 // infinite time loop
8 while( true )
10     Std.rand2f( 0, 128 ) => float pressure;
11     Std.rand2f( 0, 128 ) => float position;
12     Std.rand2f( 0, 128 ) => float vibratofreq;
13     Std.rand2f( 0, 128 ) => float vibratogain;
14     Std.rand2f( 0, 128 ) => float volume;
16     <<< "---", "" >>>;
17     <<< "bow pressure:", pressure >>>;
18     <<< "bow position:", position >>>;
19     <<< "vibrato freq:", vibratofreq >>>;
20     <<< "vibrato gain:", vibratogain >>>;
21     <<< "volume:", volume >>>;
23     // bow pressure
24     bow.controlChange( 2, pressure );
25     // bow position
26     bow.controlChange( 4, position );
27     // vibrato freq
28     bow.controlChange( 11, vibratofreq );
29     // vibrato gain
30     bow.controlChange( 1, vibratogain );
31     // volume
32     bow.controlChange( 128, volume );
34     // set freq
35     scale[Std.rand2(0,scale.cap()-1)] + 57 => Std.mtof => bow.freq;
36     // go
37     .8 => bow.noteOn;
39     // advance time
40     Std.rand2f(.8, 2)::second => now;