You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
927 B
Plaintext

(
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;
)