Lag3UD exponential lag


Lag3UD.ar(in, lagTimeU, lagTimeD, mul, add))

Lag3UD.kr(in, lagTimeU, lagTimeD, mul, add))



Lag3UD is equivalent to LagUD.kr(LagUD.kr(LagUD.kr(in, timeU, timeD), timeU, timeD), timeU, timeD), thus resulting in a smoother transition. This saves on CPU as you only have to calculate the decay factor once instead of three times. See LagUD for more details.


See also Lag3

in - input signal

lagTimeU - 60 dB lag time in seconds for the upgoing signal.

lagTimeD - 60 dB lag time in seconds for the downgoing signal.


(

// used to lag pitch

       SynthDef( \lag3ud_help,

      

{ arg freq=300,lagup=1, lagdown=5;

Out.ar( 0,

SinOsc.ar( // sine wave

Lag3UD.kr( // lag the frequency

freq,

lagup,

lagdown

),

0, // phase

0.2 // sine amplitude

)

);

}).send(s);

)


x = Synth.new( \lag3ud_help ); // create the synth

      

x.set( \freq, 500 ); // set the frequency to a higher value (takes 1 second)

x.set( \freq, 100 ); // set the frequency to a lower value (takes 5 seconds)

x.free;