// patch Mandolin m => dac; // array [ .9, .4, .6, .2, .7, .2, .5, .4 ] @=> float probs[]; [ 0, 2, 3, 5, 7, 8, 11, 12 ] @=> int foo[]; // counter 0 => int i; while( true ) { if( Std.rand2f(0,1) < probs[i] ) { // randomly draw 45 + foo[Std.rand2(0,foo.size()-1)] => Std.mtof => m.freq; // pluck probs[i] => m.noteOn; } // advance time 200::ms => now; // increment i i++; if( i >= probs.size() ) 0 => i; }