transegr

transegr — Constructs a user-definable envelope with extended release segment.

Description

Constructs a user-definable envelope. It is the same as transeg, with an extended release segment.

Syntax

ares transegr ia, idur, itype, ib [, idur2] [, itype] [, ic] ...
kres transegr ia, idur, itype, ib [, idur2] [, itype] [, ic] ...

Initialization

ia -- starting value.

ib, ic, etc. -- value after idur seconds.

idur -- duration in seconds of first segment. A zero or negative value will cause all initialization to be skipped.

idur2,... idurx etc. -- duration in seconds of segment

itype, itype2, etc. -- if 0, a straight line is produced. If non-zero, then transegr creates the following curve, for n steps:


ibeg + (ivalue - ibeg) * (1 - exp( i*itype/(n-1) )) / (1 - exp(itype))
      

Performance

If itype > 0, there is a slowly rising (concave) or slowly decaying (convex) curve, while if itype < 0, the curve is fast rising (convex) or fast decaying (concave). See also GEN16.

This opcode is the same as of transeg with an additional release segment triggered by a MIDI noteoff event, a negative p1 note event in the score or a turnoff2 opcode.

See Also

expsega, expsegr, linseg, linsegr, transeg

Credits

Author: John ffitch
january 2010

New in Csound version 5.12