PureData CEAMMC library web documentation
aliases: [ceammc/envelope], [ceammc/env], [env]
available since version: 0.5
Data type for sound envelope. Contains points specified by time and value. Points could have stop property - to execute oly part of envelope and stop on this point. So multisegment envelopes could be created Point also has segment type property, that defines following segment curve - it could be step, line (default) or exp (exponential) Exponential segment also has curve property: if 0 - (linear) <0 (concave, negatively curved) >0 (convex, positively curved)
adsr
ADSR envelope: attack(ms), decay(ms), sustain(%), release(ms)
type: list
asr
ASR envelope: attack(ms), release(ms) - with sustain stop point
type: list
ar
AR envelope: attack(ms), release(ms)
type: list
eadsr
exponential ADSR envelope: attack(ms), attack_curve, decay(ms), decay_curve,
sustain(%), release(ms), release_curve
type: list
with sustain stop point
type: list
multiply all envelope points to specified value
  parameters:
VALUE value
type: float 
required: True 
TIME point time
type: float 
units: ms 
required: True 
VALUE point value
type: float 
required: True 
[IS_STOP=0] is stop point
type: int 
[TYPE=line] segment type: step, linear, exponential, sin^2 or sigmoid curve
type: symbol 
[CURVE=1] exponential curve degree: 0 (linear) <0 (concave, negatively curved) >0 (convex, positively curved)
type: float 
TYPE segment type
type: symbol 
required: True 
LENGTH segment length
type: float 
units: ms 
required: True 
VALUE end segment value
type: float 
required: True 
[CURVE=0] curve (for exp and sigmoid type)
type: float 
ATTACK attack time
type: float 
units: ms 
required: True 
DECAY decay time
type: float 
units: ms 
required: True 
SUSTAIN sustain level
type: float 
units: % 
required: True 
RELEASE release time
type: float 
units: ms 
required: True 
ATTACK attack time
type: float 
units: ms 
required: True 
RELEASE release time
type: float 
units: ms 
required: True 
ATTACK attack time
type: float 
units: ms 
required: True 
RELEASE release time
type: float 
units: ms 
required: True 
clear
remove all envelope points
ATTACK attack time
type: float 
units: ms 
required: True 
ATTACK_CURVE attack segment curve
type: float 
required: True 
DECAY decay time
type: float 
units: ms 
required: True 
DECAY_CURVE decay segment curve
type: float 
required: True 
SUSTAIN sustain level
type: float 
units: % 
required: True 
RELEASE release time
type: float 
units: ms 
required: True 
RELEASE_CURVE release segment curve
type: float 
required: True 
ATTACK attack time
type: float 
units: ms 
required: True 
ATTACK_CURVE attack segment curve
type: float 
required: True 
RELEASE release time
type: float 
units: ms 
required: True 
RELEASE_CURVE release segment curve
type: float 
required: True 
ATTACK attack time
type: float 
units: ms 
required: True 
ATTACK_CURVE attack segment curve
type: float 
required: True 
RELEASE release time
type: float 
units: ms 
required: True 
RELEASE_CURVE release segment curve
type: float 
required: True 
VAL0 begin value
type: float 
required: True 
LEN0 line length
type: float 
units: ms 
required: True 
CURVE0 segment curve
type: float 
required: True 
VAL1 value
type: float 
required: True 
[LEN1] segment length
type: float 
[CURVE1] segment curve
type: float 
[VAL2] value
type: float 
VAL0 begin value
type: float 
required: True 
LEN0 line length
type: float 
units: ms 
required: True 
VAL1 value
type: float 
required: True 
[LEN1] segment length
type: float 
[VAL2] value
type: float 
IDX point index
type: int 
required: True 
TIME point time
type: float 
units: ms 
required: True 
VALUE point value
type: int 
required: True 
[IS_STOP=0] stop point
type: int 
IDX point index
type: int 
required: True 
TIME point time
type: float 
units: ms 
required: True 
IDX point index
type: int 
required: True 
VALUE point value
type: int 
required: True 
IDX segment index, starting from 0
type: int 
required: True 
TYPE segment type
type: symbol 
required: True 
IDX point index
type: int 
required: True 
IS_STOP stop point
type: int 
required: True 
VAL0 begin value
type: float 
required: True 
LEN0 line length
type: float 
units: ms 
required: True 
CURVE0 segment curve
type: float 
required: True 
VAL1 value
type: float 
required: True 
[LEN1] segment length
type: float 
[CURVE1] segment curve
type: float 
[VAL2] value
type: float 
VAL0 begin value
type: float 
required: True 
LEN0 line length
type: float 
units: ms 
required: True 
VAL1 value
type: float 
required: True 
[LEN1] segment length
type: float 
[VAL2] value
type: float 
VAL0 begin value
type: float 
required: True 
LEN0 step length
type: float 
units: ms 
required: True 
VAL1 value
type: float 
required: True 
[LEN1] segment length
type: float 
[VAL2] value
type: float 
@length (readonly)
Get total envelope time length
type: float
units: ms
min value: 0
default: 0
@npoints (readonly)
Get number of points
type: int
min value: 0
default: 0
@points (readonly)
Get list of point times (ms)
type: list
@stops (readonly)
Get list of stop points
type: list
@values (readonly)
Get list of point values
type: list
See also: [env->array] [env->vline]
Authors: Serge Poltavsky
License: GPL3 or later