46 lines
1.1 KiB
Text
46 lines
1.1 KiB
Text
|
class:: Lag2UD
|
||
|
summary:: Exponential lag
|
||
|
categories:: UGens>Filters
|
||
|
related:: Classes/Lag, Classes/Lag2, Classes/Lag3, Classes/LagUD, Classes/Lag3UD
|
||
|
|
||
|
description::
|
||
|
Lag2 is equivalent to Lag.kr(Lag.kr(in, time), time), thus resulting in a smoother transition. This saves on CPU as you only have to calculate the decay factor once instead of twice. See link::Classes/Lag:: for more details.
|
||
|
|
||
|
classmethods::
|
||
|
method:: ar, kr
|
||
|
|
||
|
argument:: in
|
||
|
input signal.
|
||
|
argument:: lagTimeU
|
||
|
60 dB lag time in seconds for the upgoing signal.
|
||
|
argument:: lagTimeD
|
||
|
60 dB lag time in seconds for the downgoing signal.
|
||
|
|
||
|
examples::
|
||
|
code::
|
||
|
(
|
||
|
// used to lag pitch
|
||
|
SynthDef( \lag2ud_help,
|
||
|
|
||
|
{ arg freq=300,lagup=1, lagdown=5;
|
||
|
Out.ar( 0,
|
||
|
SinOsc.ar( // sine wave
|
||
|
Lag2UD.kr( // lag the frequency
|
||
|
freq,
|
||
|
lagup,
|
||
|
lagdown
|
||
|
),
|
||
|
0, // phase
|
||
|
0.2 // sine amplitude
|
||
|
)
|
||
|
);
|
||
|
}).add;
|
||
|
)
|
||
|
|
||
|
x = Synth.new( \lag2ud_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;
|
||
|
::
|