| out=0, gate=1, freq=440, amp=1, pan=0, doneAction=2, cut=800, rez=0.8,
modFreqMin=7, modFreqMax=12, modAmp=0.01, release=1.0 |
var sig = 0;
+ var panDelay = 0.005;
var modFreq = SinOsc.kr(Rand(modFreqMin, modFreqMax), 0, modAmp, 1);
sig = sig + Pulse.ar(freq * modFreq);
sig = RLPF.ar(sig, cut, rez);
sig = sig * EnvGen.ar(Env.asr(releaseTime: release), gate, doneAction: doneAction);
sig = Pan2.ar(sig, pan);
- sig = [DelayN.ar(sig[0], 0.01, (0.01*pan).clip(0, 1)), DelayN.ar(sig[1], 0.01, (-0.01*pan).clip(0, 1))];
+ sig = [DelayN.ar(sig[0], panDelay, (panDelay*pan).clip(0, 1)), DelayN.ar(sig[1], panDelay, (panDelay.neg*pan).clip(0, 1))];
Out.ar(out, sig * amp);
}).add;
attackfm: attackfm,
selffm: selffm,
) * amp;
+ // make click in the beginning almost absent
+ sig = sig * Line.ar(dur: 0.01);
sig = Pan2.ar(sig, pan);
Out.ar(out, sig);
}).add;