// Washing Machine // copyright 2009 Les Hall // This software is protected by the GNU General Public License // parameters 32 => int n; 1::second => dur t; 0.99 => float dly_gain; // patch // // delay lines DelayA dly[n]; Gain sum; adc => dly[0]; for (1=>int i; i dly[i]; dly[i-1] => sum; } dly[n-1] => sum; for (int i; i dly[i].max; dly[i].max() => dly[i].delay; dly_gain => dly[i].gain; } 2.0/n => sum.gain; // // sigmoid distortion and limiting sum => Gain divide => LPF lpf => dac; sum => FullRect fwr => Gain add => divide; Step step => add; 4 => divide.op; 0.02 => step.next; 440.0 => lpf.freq; // time loop while (true) { t => now; }