envelopes.lib

This library contains a collection of envelope generators. Its official prefix is en.

Functions Reference


(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 (s)
  • t: trigger signal (attack is triggered when t>0, release is triggered when t=0)

(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 when t>0, release is triggered when t=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(a,r,f,t) : _

Where:

  • a, r: attack (sec), release (sec)
  • f: final value to approach upon release (such as 0)
  • t: trigger signal (attack is triggered when t>0, release is triggered when t=0)

(en.)are

ARE (Attack, Release) envelope generator with Exponential segments. Approximately equal to smoothEnvelope(Attack/6.91) when Attack == Release.

Usage

are(a,r,t) : _

Where:

  • a: attack (sec)
  • r: release (sec)
  • t: trigger signal (attack is triggered when t>0, release is triggered when t=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)
  • r: release (sec)
  • t: trigger signal (attack is triggered when t>0, release is triggered when t=0)

(en.)adsr

ADSR (Attack, Decay, Sustain, Release) envelope generator. adsr is a standard Faust function.

Usage

adsr(at,dt,sl,rt,gate) : _

Where:

  • at: attack time (sec)
  • dt: decay time (sec)
  • sl: sustain level (between 0..1)
  • rt: release time (sec)
  • gate: trigger signal (attack is triggered when gate>0, release is triggered when gate=0)

(en.)adsre

ADSRE (Attack, Decay, Sustain, Release) envelope generator with Exponential segments.

Usage

adsre(a,d,s,r,g) : _

Where:

  • a: attack (sec)
  • d: decay (sec)
  • s: sustain (fraction of t: 0-1)
  • r: release (sec)
  • g: gate signal: attack is triggered when g goes from zero to positive, release is triggered when g returns to 0

(en.)asre

ASRE (Attack, Sustain, Release) envelope generator with Exponential segments.

Usage

asre(a,s,r,g) : _

Where:

  • a: attack (sec)
  • s: sustain (fraction of t: 0-1)
  • r: release (sec)
  • t: trigger signal (attack is triggered when t>0, release is triggered when t=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 seconds
  • LN: levels (0-1)
  • t: trigger signal