55 lines
1.1 KiB
Text
55 lines
1.1 KiB
Text
class:: Decay2
|
|
summary:: Exponential decay
|
|
related:: Classes/Decay
|
|
categories:: UGens>Filters>Linear, UGens>Envelopes
|
|
|
|
|
|
Description::
|
|
link::Classes/Decay:: has a very sharp attack and can produce clicks.
|
|
Decay2 rounds off the attack by subtracting one Decay from another.
|
|
code:: Decay2.ar(in, attackTime, decayTime):: is equivalent to:
|
|
|
|
code::
|
|
Decay.ar(in, decayTime) - Decay.ar(in, attackTime)
|
|
::
|
|
|
|
|
|
classmethods::
|
|
|
|
method::ar, kr
|
|
|
|
argument::in
|
|
|
|
The input signal.
|
|
|
|
|
|
argument::attackTime
|
|
|
|
60 dB attack time in seconds.
|
|
|
|
|
|
argument::decayTime
|
|
|
|
60 dB decay time in seconds.
|
|
|
|
|
|
argument::mul
|
|
|
|
argument::add
|
|
|
|
|
|
Examples::
|
|
|
|
code::
|
|
// since attack and decay are a difference of two Decays,
|
|
// swapping the values, the envelope turns upside down:
|
|
plot({ Decay2.ar(Impulse.ar(1), 0.001, 0.01) })
|
|
plot({ Decay2.ar(Impulse.ar(1), 0.01, 0.001) })
|
|
|
|
// used as an envelope
|
|
{ Decay2.ar(Impulse.ar(XLine.kr(1,50,20), 0.25), 0.01, 0.2, FSinOsc.ar(600)) }.play;
|
|
|
|
// compare the above with Decay used as the envelope
|
|
{ Decay.ar(Impulse.ar(XLine.kr(1,50,20), 0.25), 0.2, FSinOsc.ar(600), 0) }.play;
|
|
::
|
|
|