transeg
Prev | Orchestra Opcodes and Operators | Next

## transeg

transeg — Constructs a user-definable envelope.

## Description

Constructs a user-definable envelope.

## Syntax

    ares transeg ia, idur, itype, ib [, idur2] [, itype] [, ic] ...

    kres transeg 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 transeg 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 transeg opcode. It uses the file transeg.csd. The example produces the following output:

Output of the transeg example.

Example 512. Example of the transeg 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 transeg 0.01, p3*0.25, p4, 1, p3*0.75, 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

expsega, expsegr, linseg, linsegr

## Credits

Author: John ffitch
University of Bath, Codemist. Ltd.
Bath, UK
October 2000

New in Csound version 4.09

Thanks goes to Matt Gerassimoff for pointing out the correct command syntax.

Prev | Up | Next
tradsyn | Home | trcross