oscil1i
Prev | Orchestra Opcodes and Operators | Next

## oscil1i

oscil1i — Accesses table values by incremental sampling with linear interpolation.

## Description

Accesses table values by incremental sampling with linear interpolation.

## Syntax

    kres oscil1i idel, kamp, idur [, ifn]

## Initialization

idel -- delay in seconds before oscil1i incremental sampling begins.

idur -- duration in seconds to sample through the oscil1i table just once. A negative value will make the table be read from the end to the beginning.

ifn -- (optional) function table number. oscil1i requires the extended guard point. The default value is -1 indicating a sine wave.

## Performance

kamp -- amplitude factor

oscil1i is an interpolating unit in which the fractional part of index is used to interpolate between adjacent table entries. The smoothness gained by interpolation is at some small cost in execution time (see also oscili, etc.), but the interpolating and non-interpolating units are otherwise interchangeable.

## Examples

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

Example 671. Example of the oscil1i 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 oscil1i.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>

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

    instr     1

    ipanfn = p4
    asig   vco2 .3, 220
    kpan   oscil1i 0, 1, p3, ipanfn	;create panning &
    kleft  = sqrt(kpan)		;start right away
    kright = sqrt(1-kpan)
           outs kleft*asig, kright*asig

    endin
    </CsInstruments>
    <CsScore>
    f 1 0  3 -7 .5  3  .5		;remain in center (.5 CONSTANT)
    f 2 0 129 7  1 129 0 		;left-->right
    f 3 0 129 7 .5  32 1 64 0 33 .5 ;center-->left-->right-->center

    i 1  0  2  1			;use table 1
    i 1  3  2  2			;use table 2
    i 1  6  2  3			;use table 3

    e
    </CsScore>
    </CsoundSynthesizer>

## See Also

table, tablei, table3, oscil1, osciln

Prev | Up | Next
oscil1 | Home | oscil3