class Plucky { Impulse pluck => DelayL string => dac; 0.1 :: second => string.max => string.delay; string => OneZero z => Gain fb => string; 0.999 => fb.gain; fun void pluckMe(float freq, float amp) { (1.0 / freq) :: second => string.delay; amp => pluck.next; } fun void dampMe(float damp) { damp => fb.gain; } } Plucky myPluck[110]; int which; while (1) { Std.rand2(0,99) => which; myPluck[which].pluckMe(Std.rand2f(50.0,2000.0),1.0); Std.rand2f(0.01,0.3) :: second => now; }