// ===================================================================== // 1.20.10 Fuzz Beat // Joe Mariglio // ===================================================================== s.boot; ~limi.free; Ndef(\out).play; Ndef(\out, {Limiter.ar(CombN.ar(InFeedback.ar([16,17]), 1/2, 1/8, 1/3), 0.9)}); a = Array.geom(2**4, 1, 2**(1/(2**4))); SynthDef(\perc, {|array, top = 20000, tone = 40, dur = 1, amp = 0.7, out = 0, ring = 0.2, prat = 1| var osc, env, filt, pan; env = EnvGen.kr(Env.perc(0, dur, 1, -128), doneAction:2); osc = Pulse.ar(env*top); filt = DynKlank.ar(`[a*tone*((env*8)+1), nil, ring!a.size], osc); filt = Mix.ar([((1..32).select{|x| x.isPrime}*filt).sin, filt]); pan = Pan2.ar(filt, SinOsc.ar((top*tone)/prat), amp); Out.ar(out, pan) }).store; ) Pdef(\beat).play; ( Pdef(\beat, {Pbind( \instrument, \perc, \out, 16, \dur, Pseq([2, 1, 2]/20, inf), \top, 22000, \tone, Pseq([100, 3000, 5000], inf), \amp, Pseq([1/5, 1/64, 1/64], inf), \ring, Pseq([0.6, 0.01, 0.01], inf), \prat, Pseq([2, 4, 6], inf) )}) ) Ndef(\out).stop Pdef(\beat).stop s.quit