// even more music for replicants
// patch
Wurley voc=> JCRev r => dac;
// initial settings
220.0 => voc.freq;
0.95 => voc.gain;
.8 => r.gain;
.1 => r.mix;
// scale
[ 0, 3, 7, 8, 11 ] @=> int scale[];
// our main time loop
while( true )
{
// scale
scale[Math.random2(0,scale.size()-1)] => int freq;
Std.mtof( ( 45 + Math.random2(0,1) * 12 + freq ) ) => voc.freq;
Math.random2f( 0.6, 0.8 ) => voc.noteOn;
// note: Math.randomf() returns value between 0 and 1
if( Math.randomf() > 0.9 )
{
// 1000::ms => now;
repeat( 100 )
{
voc.freq() * 1.01 => voc.freq;
10::ms => now;
}
}
else if( Math.randomf() > .75 )
{
// 500::ms => now;
repeat( 50 )
{
voc.freq() * .99 => voc.freq;
10::ms => now;
}
}
else if( Math.randomf() > .1 )
{
250::ms => now;
}
else
{
0 => int i;
2 * Math.random2( 1, 3 ) => int pick;
0 => int pick_dir;
0.0 => float pluck;
for( ; i < pick; i++ )
{
Math.random2f(.4,.6) + i*.035 => pluck;
pluck + 0.03 * (i * pick_dir) => voc.noteOn;
!pick_dir => pick_dir;
250::ms => now;
}
}
}