SynthDef(\supersaw, { arg gate = 0; var sig, env, freq, sub, noise, saw, rel; freq = \freq.kr(122); rel = \rel.kr(1); env = EnvGen.ar(Env.asr(\attack.kr(0.01), 1, rel), gate, doneAction: Done.freeSelf); sub = SinOsc.ar(freq) * 1.5; noise = WhiteNoise.ar(0.4); saw = Array.fill(8, {Saw.ar([freq, freq * 0.5] * Rand(1.0, 1.04)).sum}); sig = Splay.ar([saw.sum, sub, noise], 0.1); sig = RHPF.ar(sig, freq, 0.9); // sig = sig + DelayC.ar(sig, 0.1, SinOsc.ar(0.02).unipolar.range(0.013, 0.025), 1) / 2; sig = sig * \amp.kr(0.3); sig = sig * env; Out.ar(\out.kr(0), Limiter.ar(sig)); }).add;