1 // banded waveguide sample
4 BandedWG band => JCRev r => dac;
9 Std.mtof( ( 21 + Std.rand2(0,3) * 12 + 7 ) ) => band.freq;
14 [ 0, 2, 4, 7, 9 ] @=> int scale[];
19 Std.rand2f( 0.1, 0.9 ) => band.bowRate;
20 Std.rand2f( 0.2, 0.35 ) => band.bowPressure;
21 Std.rand2f( 0.6, 0.8 ) => band.startBowing;
23 if( Std.randf() > 0.7 )
25 else if( Std.randf() > .7 )
27 else if( Std.randf() > 0.2 )
28 { .250::second => now; }
32 4 * Std.rand2( 1, 4 ) => int pick;
35 Std.rand2f( 50.0, 200.0 ) => float d;
37 for( ; i < pick; 1 +=> i )
39 Std.rand2f(.4,.6) + i*.35/pick => pluck;
40 pluck + 0.1 * pick_dir => band.pluck;
41 !pick_dir => pick_dir;
46 if ( Std.randf() > 0.2 )
49 0.001 => band.stopBowing;
50 0.5::second * Std.rand2(1,3) => now;
53 scale[Std.rand2(0, scale.cap()-1)] => int freq;
54 Std.mtof( 21 + Std.rand2(0,5) * 12 + freq ) => band.freq;
55 if ( Std.randf() > 0.7 )
56 Std.rand2(0,3) => band.preset;