// STK BlowBotl; using classic STK controlChange // (also see blowbotl.ck) // patch BlowBotl bottle => dac; // scale [0, 2, 4, 7, 8, 11] @=> int scale[]; // infinite time loop while( true ) { Math.random2f( 0, 128 ) => float noisegain; Math.random2f( 0, 128 ) => float vibratofreq; Math.random2f( 0, 128 ) => float vibratogain; Math.random2f( 0, 128 ) => float volume; <<< "---", "" >>>; <<< "noise gain:", noisegain, "/ 128.0" >>>; <<< "vibrato freq:", vibratofreq, "/ 128.0" >>>; <<< "vibrato gain:", vibratogain, "/ 128.0" >>>; <<< "volume:", volume, "/ 128.0" >>>; // noise gain bottle.controlChange( 4, noisegain ); // vibrato freq bottle.controlChange( 11, vibratofreq ); // vibrato gain bottle.controlChange( 1, vibratogain ); // volume bottle.controlChange( 128, volume ); // set freq scale[Math.random2(0,scale.size()-1)] + 57 => Std.mtof => bottle.freq; // go .8 => bottle.noteOn; // advance time 1::second => now; }