transegb
Prev | Orchestra Opcodes and Operators | Next

## 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.

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

Prev | Up | Next
transeg | Home | transegr