( SynthDef(\hat, { var sig; sig = Pulse.ar(Array.fill(6, {|index| 120 * (index + {Rand(1.05, 1.15)})})); sig = Splay.ar(sig, 0.1); sig = BPF.ar(sig, 10000, 0.1); sig = RHPF.ar(sig, 7000, 0.1); sig = HPF.ar(sig, 5000) * 10.dbamp; sig = Fold.ar(sig); sig = sig * Env.perc(0.001, \decay.kr(0.1), curve: -8).ar(Done.freeSelf); sig = sig * \amp.kr(0.8); sig = Limiter.ar(sig); Out.ar(0, sig); }).add; )