//================================================= // 2.18.10 joe mariglio // // this song is actually called "glib numb smi // le", not "chirps_cleaner.scd". to get the // full effect, plug the first aux out on your // audio interface into a spring reverb and r // un it back into your first audio input chan // nel. lol self imposed text wrapping ftw. // //================================================= SynthDef(\chirp, {| amp = 0.5, top = 1600, bottom = 1, dur = 1, ovr = 1, curve = -256, out = 0| var osc, ampEnv, freqEnv; freqEnv = EnvGen.kr(Env.new([top, top, bottom], [0, dur*ovr], curve)); ampEnv = EnvGen.kr(Env.new([0, 1, 0.8, 0], [0, 0.5, 0.5]*dur*ovr,'sine'), doneAction:2); osc = Saw.ar(freqEnv, ampEnv); OffsetOut.ar(out, osc*amp) }).store; //see? it's ridonculously simple... Pdef(\out, { Pbind(\instrument, \chirp, \top, Pgbrown(100, 22050, 0.125, inf), \bottom, Pgbrown(1, 22050, 0.125, inf), \dur, 1/Pgbrown(10, 22050, 0.125, inf), \curve, Pbrown(-128, 128, 8, inf), \out, Prand([0,1,2], inf), \ovr, Pbrown(1, 16, 0.125, inf), \amp, 1 ) }); //if you don't have a spring reverb (or other outboard gear you want to try) you could remove the "2" from the "\out, Prand" array. that way it'd just go thru your main l+r outs. Pdef(\out).play ~in = {OffsetOut.ar(0, Limiter.ar(CombC.ar(SoundIn.ar(0)*LFNoise2.kr(1/20, 2, 2), 1, 1, 10), 0.9)!2, 0.9)}.play