( SynthDef(\junoPad, { arg gate=1, freq=220, atk=4, sus=2, rel=6, amp=0.3; var sig, env, freqs, lfo, chorus, modRate, modDepth; // Slightly detuned saw waves freqs = freq * [1, 1.01, 0.99]; // Small detune sig = Mix(Saw.ar(freqs)); // Stack saw waves // LFO to slowly move filter cutoff lfo = SinOsc.kr(0.1).range(500, 2000); sig = RLPF.ar(sig, lfo, 0.3); // Low-pass filter with modulation . // Envelope for smooth rise env = EnvGen.kr(Env.asr(atk, 1, rel), gate, doneAction:2); sig = sig * env * amp; // Chorus effect (emulates Juno-chorus) modRate = [0.3, 0.4]; // Two different modulation rates modDepth = 0.01; // Small pitch variation chorus = sig + DelayC.ar(sig, 0.02, SinOsc.kr(modRate).range(0, modDepth)); // Reverb for space // sig = FreeVerb.ar(chorus, mix: 0.5, room: 0.8, damp: 0.5); sig = sig * chorus; Out.ar(0, sig); }).play; )