.5::second => dur T; T - (now % T) => now; PulseOsc s => JCRev r => dac; .025 => s.gain; .50 => r.mix; [ 3, 0, 3, 0, 3, 5, 7, 5, 3, 0, 3, 0, 3, 0, 0] @=> int scale[]; 1 => int C; while( C < 1000 ) { scale[Math.random2(0,11)] =>int freq; Std.mtof( 30 + (Std.rand2(0,3)*12 + freq) ) => s.freq; 0 => s.phase; if( Std.randf() > -.5 ) .25::T => now; else .5::T => now; C++; }