expon
Prev | Orchestra Opcodes and Operators | Next

## expon

expon — Trace an exponential curve between specified points.

## Description

Trace an exponential curve between specified points.

## Syntax

    ares expon ia, idur, ib

    kres expon ia, idur, ib

## Initialization

ia -- starting value. Zero is illegal for exponentials.

ib -- value after idur seconds. For exponentials, must be non-zero and must agree in sign with ia.

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

## Performance

These units generate control or audio signals whose values can pass through 2 specified points. The idur value 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 defined segment to continue on in the same direction.

## Examples

Here is an example of the expon opcode. It uses the file expon.csd.

Example 280. Example of the expon 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
    -odac     ;;;realtime audio out
    ;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
    ; For Non-realtime ouput leave only the line below:
    ; -o expon.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>

    sr = 44100
    ksmps = 32
    nchnls = 2
    0dbfs = 1

    instr 1

    kpitch = p6
    ;choose between expon or line
    if (kpitch == 0) then
      kpitch expon p4, p3, p5
    elseif (kpitch == 1) then
      kpitch line p4, p3, p5
    endif

    asig   vco2 .6, kpitch
           outs asig, asig

    endin
    </CsInstruments>
    <CsScore>

    i 1 0 2 300 600    0	;if p6=0 then expon is used
    i 1 3 2 300 600    1	;if p6=1 then line is used
    i 1 6 2 600 1200   0
    i 1 9 2 600 1200   1
    i 1 12 2 1200 2400 0
    i 1 15 2 1200 2400 1
    i 1 18 2 2400 30   0
    i 1 21 2 2400 30   1
    e
    </CsScore>
    </CsoundSynthesizer>

## See also

Linear and Exponential Generators

Prev | Up | Next
expcurve | Home | exprand