interp
Prev | Orchestra Opcodes and Operators | Next

## interp

interp — Converts a control signal to an audio signal using linear interpolation.

## Description

Converts a control signal to an audio signal using linear interpolation.

## Syntax

    ares interp ksig [, iskip] [, imode]
        [, ivalue]

## Initialization

iskip (optional, default=0) -- if non zero skips initialisation of internal save space (see reson).

imode (optional, default=0) -- sets the initial output value to the first k-rate input instead of zero. The following graphs show the output of interp with a constant input value, in the original, when skipping init, and in the new mode:

Example 480. iskip=0, imode=0

| ________
| /
| /
| /
|/
-+------------
|

Example 481. iskip=1, imode=0

(prev)
| __________
| /
|/
|
|
-+------------
|

Example 482. iskip=0, imode=1

|____________
|
|
|
|
-+------------
|

ivalue (optional, default=0) -- initial value if both imode and iskip are zero.

## Performance

ksig -- input k-rate signal.

interp converts a control signal to an audio signal. It uses linear interpolation between successive kvals.

## Examples

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

Example 483. Example of the interp 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      ;;;RT audio out
    ; For Non-realtime ouput leave only the line below:
    ; -o interp.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>

    sr     = 44100
    ksmps  = 1024    ; very high, for demonstration purpose
    nchnls = 2
    0dbfs  = 1

    instr 1

    kamp linseg 0, p3/2, .5, p3/2, 0        ; Create an amplitude envelope.
    a1   oscil kamp, 440                    ; The amplitude envelope will sound rough because it
    outs a1, a1                             ; jumps every ksmps period (1024)
    endin

    instr 2     ; a smoother sounding instrument.

    kamp linseg 0, p3/2, .5, p3/2, 0        ; Create an amplitude envelope
    aamp interp kamp                        ; The amplitude envelope will sound smoother due to
    a1 oscil aamp, 440                      ; linear interpolation at the higher a-rate
    outs a1, a1
    endin

    </CsInstruments>
    <CsScore>
    i 1 0 2     ; sounds raw

    i 2 3 2     ; sounds smooth
    e
    </CsScore>
    </CsoundSynthesizer>

## See Also

diff, downsamp, integ, samphold, upsamp

More information on this opcode: Csound Journal, issue10 - An Overview of Csound Variable Types , written by Andrés Cabrera

## Credits

Updated November 2002, thanks to a note from both Rasmus Ekman and Istvan Varga.

Prev | Up | Next
interleave | Home | invalue