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. Play transegb.csd The example produces the following output:

Output of the transegb example.

Output of the transegb example.

Example 1113. 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