// Kijjaz's clicks // Noise n => LPF f => ZeroX zx; Gain master => dac; 23 => f.freq; // adjust this to adjust grease density 0.5 => f.Q; // if this is huge, the pitch of grease will be closer to f.freq() .5 => master.gain; /// // My reverb unit // Note that changing delaym can be catastrophic LargeRoom lr_reverb; MediumRoom mr_reverb; mr_reverb.chuck() => Delay delaym => lr_reverb.chuck => LPF rlpf => Delay delayl => mr_reverb.chuck; 0.5::second => delaym.max; 0.5::second => delaym.delay; 0.5 => delaym.gain; 0.25::second => delayl.max; 0.25::second => delayl.delay; 0.25 => delayl.gain; 1000 => rlpf.freq; /// // Connections // zx => LPF lpf => Gain forward => master; lpf => Gain revgain => mr_reverb.chuck => master; 10000 => lpf.freq; 0.1 => float dry; forward; dry => forward.gain; revgain; 1.0 - dry => revgain.gain; /// // Control the connection between the reverb units // if we randomly modulate the delaym, then we can // round off high frequencies -- otherwise it will // ring at whatever freq rlpf is at. dur delholder; while( true ) { delaym.delay() + (std.rand2(0,1) - std.rand2(0,1))::ms => delholder; if ( delholder < (delaym.max() - 1::ms) || delholder > (delaym.max() / 2.0) ) { delholder => delaym.delay; } else if ( delholder > (delaym.max() - 1::ms) ) { delaym.max() - 2::ms => delaym.delay; } else { (delaym.max() / 2) + 2::ms => delaym.delay; } Std.rand2f(0.1,1000.0)::ms => now; }