xadsr — Calculates the classical ADSR envelope.


Calculates the classical ADSR envelope


ares xadsr iatt, idec, islev, irel [, idel]
kres xadsr iatt, idec, islev, irel [, idel]


iatt -- duration of attack phase

idec -- duration of decay

islev -- level for sustain phase

irel -- duration of release phase

idel -- period of zero before the envelope starts


The envelope is in the range 0 to 1 and may need to be scaled further. The envelope may be described as:

Picture of an ADSR envelope.

Picture of an ADSR envelope.

The length of the sustain is calculated from the length of the note. This means xadsr is not suitable for use with MIDI events, use mxadsr instead. The opcode xadsr is identical to adsr except it uses exponential, rather than linear, line segments.

xadsr is new in Csound version 3.51.

See Also

adsr, madsr, mxadsr


Author: John ffitch