envelopes.lib
This library contains a collection of envelope generators. Its official prefix is en
.
References
Functions Reference
(en.)ar
AR (Attack, Release) envelope generator (useful to create percussion envelopes).
ar
is a standard Faust function.
Usage
ar(at,rt,t) : _
Where:
at
: attack (sec)rt
: release (sec)t
: trigger signal (attack is triggered whent>0
, release is triggered whent=0
)
(en.)asr
ASR (Attack, Sustain, Release) envelope generator.
asr
is a standard Faust function.
Usage
asr(at,sl,rt,t) : _
Where:
at
: attack (sec)sl
: sustain level (between 0..1)rt
: release (sec)t
: trigger signal (attack is triggered whent>0
, release is triggered whent=0
)
(en.)adsr
ADSR (Attack, Decay, Sustain, Release) envelope generator.
adsr
is a standard Faust function.
Usage
adsr(at,dt,sl,rt,t) : _
Where:
at
: attack time (sec)dt
: decay time (sec)sl
: sustain level (between 0..1)rt
: release time (sec)t
: trigger signal (attack is triggered whent>0
, release is triggered whent=0
)
(en.)adsrf_bias
ADSR (Attack, Decay, Sustain, Release, Final) envelope generator with control over bias on each segment, and toggle for legato.
Usage
adsrf_bias(at,dt,sl,rt,final,b_att,b_dec,b_rel,legato,t) : _
Where:
at
: attack time (sec)dt
: decay time (sec)sl
: sustain level (between 0..1)rt
: release time (sec)final
: final level (between 0..1) but less than or equal tosl
b_att
: bias during attack (between 0..1) where 0.5 is no bias.b_dec
: bias during decay (between 0..1) where 0.5 is no bias.b_rel
: bias during release (between 0..1) where 0.5 is no bias.legato
: toggle for legato. If disabled, envelopes "re-trigger" from zero.t
: trigger signal (attack is triggered whent>0
, release is triggered whent=0
)
(en.)adsr_bias
ADSR (Attack, Decay, Sustain, Release) envelope generator with control over bias on each segment, and toggle for legato.
Usage
adsr_bias(at,dt,sl,rt,b_att,b_dec,b_rel,legato,t) : _
Where:
at
: attack time (sec)dt
: decay time (sec)sl
: sustain level (between 0..1)rt
: release time (sec)b_att
: bias during attack (between 0..1) where 0.5 is no bias.b_dec
: bias during decay (between 0..1) where 0.5 is no bias.b_rel
: bias during release (between 0..1) where 0.5 is no bias.legato
: toggle for legato. If disabled, envelopes "re-trigger" from zero.t
: trigger signal (attack is triggered whent>0
, release is triggered whent=0
)
(en.)ahdsrf_bias
AHDSR (Attack, Hold, Decay, Sustain, Release, Final) envelope generator with control over bias on each segment, and toggle for legato.
Usage
ahdsrf_bias(at,ht,dt,sl,rt,final,b_att,b_dec,b_rel,legato,t) : _
Where:
at
: attack time (sec)ht
: hold time (sec)dt
: decay time (sec)sl
: sustain level (between 0..1)rt
: release time (sec)final
: final level (between 0..1) but less than or equal tosl
b_att
: bias during attack (between 0..1) where 0.5 is no bias.b_dec
: bias during decay (between 0..1) where 0.5 is no bias.b_rel
: bias during release (between 0..1) where 0.5 is no bias.legato
: toggle for legato. If disabled, envelopes "re-trigger" from zero.t
: trigger signal (attack is triggered whent>0
, release is triggered whent=0
)
(en.)ahdsr_bias
AHDSR (Attack, Hold, Decay, Sustain, Release) envelope generator with control over bias on each segment, and toggle for legato.
Usage
ahdsr_bias(at,ht,dt,sl,rt,final,b_att,b_dec,b_rel,legato,t) : _
Where:
at
: attack time (sec)ht
: hold time (sec)dt
: decay time (sec)sl
: sustain level (between 0..1)rt
: release time (sec)final
: final level (between 0..1) but less than or equal tosl
b_att
: bias during attack (between 0..1) where 0.5 is no bias.b_dec
: bias during decay (between 0..1) where 0.5 is no bias.b_rel
: bias during release (between 0..1) where 0.5 is no bias.legato
: toggle for legato. If disabled, envelopes "re-trigger" from zero.t
: trigger signal (attack is triggered whent>0
, release is triggered whent=0
)
(en.)smoothEnvelope
An envelope with an exponential attack and release.
smoothEnvelope
is a standard Faust function.
Usage
smoothEnvelope(ar,t) : _
ar
: attack and release duration (sec)t
: trigger signal (attack is triggered whent>0
, release is triggered whent=0
)
(en.)arfe
ARFE (Attack and Release-to-Final-value Exponentially) envelope generator.
Approximately equal to smoothEnvelope(Attack/6.91)
when Attack == Release.
Usage
arfe(at,rt,fl,t) : _
Where:
at
: attack (sec)rt
: release (sec)fl
: final level to approach upon release (such as 0)t
: trigger signal (attack is triggered whent>0
, release is triggered whent=0
)
(en.)are
ARE (Attack, Release) envelope generator with Exponential segments.
Approximately equal to smoothEnvelope(Attack/6.91)
when Attack == Release.
Usage
are(at,rt,t) : _
Where:
at
: attack (sec)rt
: release (sec)t
: trigger signal (attack is triggered whent>0
, release is triggered whent=0
)
(en.)asre
ASRE (Attack, Sustain, Release) envelope generator with Exponential segments.
Usage
asre(at,sl,rt,t) : _
Where:
at
: attack (sec)sl
: sustain level (between 0..1)rt
: release (sec)t
: trigger signal (attack is triggered whent>0
, release is triggered whent=0
)
(en.)adsre
ADSRE (Attack, Decay, Sustain, Release) envelope generator with Exponential segments.
Usage
adsre(at,dt,sl,rt,t) : _
Where:
at
: attack (sec)dt
: decay (sec)sl
: sustain level (between 0..1)rt
: release (sec)t
: trigger signal (attack is triggered whent>0
, release is triggered whent=0
)
(en.)ahdsre
AHDSRE (Attack, Hold, Decay, Sustain, Release) envelope generator with Exponential segments.
Usage
ahdsre(at,ht,dt,sl,rt,t) : _
Where:
at
: attack (sec)ht
: hold (sec)dt
: decay (sec)sl
: sustain level (between 0..1)rt
: release (sec)t
: trigger signal (attack is triggered whent>0
, release is triggered whent=0
)
(en.)dx7envelope
DX7 operator envelope generator with 4 independent rates and levels. It is essentially a 4 points BPF.
Usage
dx7_envelope(R1,R2,R3,R4,L1,L2,L3,L4,t) : _
Where:
RN
: rates in secondsLN
: levels (0-1)t
: trigger signal