// STK BandedWG
// patch
BandedWG bwg => dac;
// scale
[0, 2, 4, 7, 8, 11] @=> int scale[];
// infinite time loop
while( true )
{
// ding!
Math.random2f( 0, 1 ) => bwg.bowRate;
Math.random2f( 0, 1 ) => bwg.bowPressure;
Math.random2f( 0, 1 ) => bwg.strikePosition;
Math.random2( 0, 3 ) => bwg.preset;
// set freq
scale[Math.random2(0,scale.size()-1)] => int winner;
57 + Math.random2(0,2)*12 + winner => Std.mtof => bwg.freq;
// print some parameters
<<< "---", "" >>>;
<<< "preset:", bwg.preset() >>>;
<<< "bow rate:", bwg.bowRate() >>>;
<<< "bow Pressure:", bwg.bowPressure() >>>;
<<< "strike position:", bwg.strikePosition() >>>;
<<< "frequency:", bwg.freq() >>>;
<<< "---", "" >>>;
<<< "bow -> pluck", "" >>>;
Math.random2f( .5, 1 ) => bwg.pluck;
// advance time
2::second => now;
<<< "pluck -> bow", "" >>>;
.8 => bwg.startBowing;
Math.random2f(2,4)::second => now;
1.0 => bwg.stopBowing;
1::second => now;
}