You are on page 1of 1

{ // below we declare our variables with 'var' var input, fBLoopIn, fBLoopOut, processing, speed; speed = LFNoise0.kr(0.5, 2, 2.

1); // input is our sound source, a little noise -- note the lowered amplitude // of 0.15 input = SoundIn.ar(0); // fBLoopIn is our feedback loop insertion point. fBLoopIn = LocalIn.ar(1); // in processing, we mix the input with the feedback loop // the delay time of the DelayN UGen is controlled by the // 'speed' variable. The gain is now fixed at 1.1. processing = input + LeakDC.ar((DelayN.ar(fBLoopIn, 3.5, speed, 1.1))); // use a resonant low-pass filter that moves at various rates // determined by the 'speed' variable with frequencies between 400 - 1200 processing = RLPF.ar(processing, LFNoise0.kr(speed, 400, 800), 0.15); // fBLoopOut is our feedback loop output point fBLoopOut = LocalOut.ar(processing); // signal threshold a "low-rent gate" processing = processing.thresh(0.45); // our limiter processing = Limiter.ar(processing); // add some equal-power panning processing = Pan2.ar(processing, (speed - 2) * 0.5); // notice removed brackets because Pan2 is a multi-channel UGen // and SC has multichannel expansion for free ;) Out.ar(0, processing); }.play