//Number 7 //Chuck a day 2009 //by Scott Hewitt //www.ablelemon.co.uk/chuckaday //DSP adc => Delay del => dac; del => Delay delb => dac; delb => del; //Control Envelope env => blackhole; Envelope envb => blackhole; SinOsc s => blackhole; //Preset values 1000 => s.freq; 0.5 => delb.gain; 5000::ms => del.max; 1000::ms => del.delay; 5000::ms => delb.max; 1000::ms => delb.delay; //amplitude modulation function void feedbackamp (){ while (true){ s.last() => delb.gain; //<<< s.last() >>>; <<< delb.gain() >>>; 21::ms => now; } } //change delay value delb function void delaa (){ while (true){ env.value() * 1::ms => delb.delay; 100::ms => now; } } //change delay value del function void delbb (){ while (true){ envb.value() * 0.7::ms => del.delay; 100::ms => now; } } //envelope control function void envbcontrol() { while (true){ Std.rand2(10, 4500) => envb.value; Std.rand2(10, 4500) => envb.target; Std.rand2(10, 4500) => envb.time; envb.keyOn; envb.time() * 1::ms => now; } } spork ~ feedbackamp(); spork ~ delaa(); spork ~ delbb(); spork ~ envbcontrol(); //main loop while (true) { 1000::ms => now; Std.rand2(10, 1500) => env.value; Std.rand2(10, 1500) => env.target; Std.rand2(10, 4500) => env.time; env.keyOn; env.time() * 1::ms => now; }