|
Thanks! Yeah changing release node from 2 to 1 makes it better. I’ve never really understood what exactly is going on with the release nodes. I thought I hade to add the extra 0 in Env([0,0,1,0]
because it skips the first when retriggered? I made another sequence so it is easier to here which one is better. I thing your first suggestion.
( SynthDef.new(\k1mono, { | freqA=800, freqB=50, freqC=40, freqDur1=0.02, freqDur2=0.5, freqC1=(-1), freqC2=(-1), atk=0.001, rel=1, c1=1, c2=(-12), amp=1, pan=0, out=0, ts=1 | var sig, freqSweep, env, trigger= \trig.tr(1); env = EnvGen.ar(Env([0, 1, 0], [atk, rel], [c1, c2], 1), trigger, timeScale:ts); freqSweep = EnvGen.ar(Env([freqA, freqA, freqB, freqC],[0,freqDur1,freqDur2],[freqC1,freqC1,freqC2]),trigger,timeScale: ts); sig = SinOsc.ar(freqSweep, pi/2); sig = sig * env; sig = Pan2.ar(sig, pan, amp); Out.ar(out, sig); }).add; ) env = EnvGen.ar(Env([0, 1, 0], [atk, rel], [c1, c2], 1), trigger, timeScale:ts); // sounds best env = EnvGen.ar(Env([0, 0, 1, 0], [atk * 0.1, atk, rel], [c1, c1, c2], 2), trigger, timeScale:ts); 2nd
env = EnvGen.ar(Env([0, 0, 1, 0], [atk, atk, rel], [c1, c1, c2], 2), trigger, timeScale:ts); 3rd ( Pmono(\k1mono, \freqC,60, \freqB,70, #[dur,rel,freqA], Ptuple([ Pseq([0.5,0.25,1,0.25,1,2,0.25,0.25],1), Pseq([4,0.75,10,2,5,2,2,1],1), Pseq([800,800,700,500,400,500,300,300],1) ]*0.5,inf), \trig,1, \ts, Pseq([0.9,1],inf), \amp,0.2 ).play ) Skickades från E-post för Windows 10 Från: borisklompus@xxxxxxxxxxxxxx Hello, I believe that the clicks are caused from the combination of the free running oscillator not being reset with your amplitude envelope, and the 0 second first stage attack. You're not starting at a zero crossing of the wave. I removed the first stage of you amplitude envelope and the clicks went away: env = EnvGen.ar(Env([0, 1, 0], [atk, rel], [c1, c2], 1), trigger, timeScale:ts); I figure you have that extra stage in there for the retriggering to also have an attack stage (though I don't think it's necessary?), so not removing it, but setting it to be the same as atk also solves this: env = EnvGen.ar(Env([0, 0, 1, 0], [atk, atk, rel], [c1, c1, c2], 2), trigger, timeScale:ts); I also scaled it further down, there's a click but it's a bit more harmonically consistent... env = EnvGen.ar(Env([0, 0, 1, 0], [atk * 0.1, atk, rel], [c1, c1, c2], 2), trigger, timeScale:ts); Boris ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Saturday, June 19th, 2021 at 8:56 AM, <nilswallgren@xxxxxxxxxxx> wrote:
|