transegb

transegb — Constructs a user-definable envelope in absolute time.

Description

Constructs a user-definable envelope in absolute time.

Syntax

ares transegb ia, itim, itype, ib [, itim2] [, itype] [, ic] ...
kres transegb ia, itim, itype, ib [, itim2] [, itype] [, ic] ...

Initialization

ia -- starting value.

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

itim -- time in seconds of end of first segment.

itim2,... itimx etc. -- time in seconds at the end of the segment.

itype, itype2, etc. -- if 0, a straight line is produced. If non-zero, then transegb 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.

Examples

Here is an example of the transegb opcode. It uses the file transegb.csd. The example produces the following output:

Output of the transegb example.

Output of the transegb example.

Example 915. Example of the transegb opcode.

See the sections Real-time Audio and Command Line Flags for more information on using command line flags.

<CsoundSynthesizer>
<CsOptions>
; Select audio/midi flags here according to platform
; Audio out   Audio in
-odac           -iadc    ;;;RT audio I/O
; For Non-realtime ouput leave only the line below:
; -o transeg.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

sr = 44100
ksmps = 128
nchnls = 2

0dbfs = 1

instr 1
;p4 and p5 determine the type of curve for each
;section of the envelope
kenv transegb 0.01, p3*0.25, p4, 1, p3, p5, 0.01
a1 oscil kenv, 440, 1
outs a1, a1
endin

</CsInstruments>
<CsScore>
; Table #1, a sine wave.
f 1 0 16384 10 1

i 1 0 2 2 2
i 1 + . 5 5
i 1 + . 1 1
i 1 + . 0 0
i 1 + . -2 -2
i 1 + . -2 2
i 1 + . 2 -2
e
</CsScore>
</CsoundSynthesizer>


See Also

expseg, expsega, expsega, expsegr, linseg, linsegb, linsegr, transeg transegr

Credits

Author: John ffitch
University of Bath, Codemist. Ltd.
Bath, UK
June 2011

New in Csound version 5.14