dac.channels() => int numChans; // number of available channels SndBuf s; DelayL d[numChans]; float baseDel[numChans]; float delDel[numChans]; float baseFreq[numChans]; for (0 => int i; i < numChans; i++) { s => d[i] => dac.chan(i); 1500.0 :: samp => d[i].max; Std.rand2f(1000.0,1300.0) => baseDel[i]; Std.rand2f(120.0,1500-baseDel[i]) => delDel[i]; Std.rand2f(0.8,1.4) => baseFreq[i]; } "TomVega.wav" => s.read; 1 => s.loop; 3.0 => s.gain; 0.0 => float myNow; spork~ updateChorus(); while (1) { 1.0 :: second => now; // Do Other Stuff Here } fun void updateChorus() { while (1) { 0.001 :: second => now; myNow + 0.001 => myNow; for (0 => int i; i < numChans; i++) { (baseDel[i] + (delDel[i] * Math.sin(2*pi*baseFreq[i]*myNow))) :: samp => d[i].delay; } } }