The Alternative Csound Reference Manual
Previous |  | Next

# expsega

expsega -- An exponential segment generator operating at a-rate.

## Description

An exponential segment generator operating at a-rate. This unit is almost identical to expseg, but more precise when defining segments with very short durations (i.e., in a percussive attack phase) at audio rate.

## Syntax

ar expsega ia, idur1, ib [, idur2] [, ic] [...]

## Initialization

ia -- starting value. Zero is illegal.

ib, ic, etc. -- value after idur1 seconds, etc. must be non-zero and must agree in sign with ia.

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

idur2, idur3, etc. -- duration in seconds of subsequent segments. A zero or negative value will terminate the initialization process with the preceding point, permitting the last defined line or curve to be continued indefinitely in performance. The default is zero.

## Performance

These units generate control or audio signals whose values can pass through two or more specified points. The sum of dur values may or may not equal the instrument's performance time. A shorter performance will truncate the specified pattern, while a longer one will cause the last defined segment to continue on in the same direction.

## Examples

Here is an example of the expsega opcode. It uses the files expsega.orc and expsega.sco.

Example 1. Example of the expsega opcode.

    /* expsega.orc */
    ; Initialize the global variables.
    sr = 44100
    kr = 4410
    ksmps = 10
    nchnls = 1

    ; Instrument #1.
    instr 1
      ; Define a short percussive amplitude envelope that
      ; goes from 0.01 to 20,000 and back.
      aenv expsega 0.01, 0.1, 20000, 0.1, 0.01

      a1 oscil aenv, 440, 1
      out a1
    endin
    /* expsega.orc */

    /* expsega.sco */
    ; Table #1, a sine wave.
    f 1 0 16384 10 1

    ; Play Instrument #1 for one second.
    i 1 0 1
    ; Play Instrument #1 for one second.
    i 1 1 1
    ; Play Instrument #1 for one second.
    i 1 2 1
    ; Play Instrument #1 for one second.
    i 1 3 1
    e
    /* expsega.sco */

## See Also

expseg, expsegr

## Credits

Author: Gabriel Maldonado

Example written by Kevin Conder.

New in Csound 3.57

Previous | Home | Next
expseg | Up | expsegr