*** empty log message ***
[chuck-blob.git] / exile / v1 / examples / moogie.ck
blobd63ba78000f0c219b315f761ad50d1bfbc436171
1 // STK Moog
2 // - philipd
4 Moog mog => dac;
5 440.0 => mog.freq;
6 0.0 => float t;
8 fun void varmod()
10     while ( true )
11     {
12         0.5 + 0.4 *  math.sin ( t * 0.1 ) => mog.modDepth;      
13         0.5 + 0.4 *  math.sin ( t * 0.2 ) => mog.modSpeed;      
14         0.5 + 0.4 *  math.sin ( t * 0.3 ) => mog.filterQ;       
15         0.5 + 0.4 *  math.sin ( t * 0.4 ) => mog.filterSweepRate;       
16         10::ms => now;
17         t + 0.01 => t;
18     }
21 fun void atouch( float imp)
23     imp => float atouch;
24     while ( atouch >= 0.0 )
25     {
26         atouch => mog.afterTouch;
27         atouch - 0.05 => atouch;
28         10::ms => now;
29     }
32 // spork varmod shred
33 spork ~varmod();
35 0.0 => float vel;
36 while ( true )
38 //  std.rand2f ( 440.0, 880.0 ) => mog.freq;
39     278.43 => mog.freq;
40     std.rand2f(0.5, 0.8) => vel;
41     vel  => mog.noteOn;
42     spork ~ atouch(vel);
43     if ( std.randf() >  0.3 ) { 1::second => now; }
44     else { 0.5::second => now; }