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 zero or negative value will cause all initialization to be skipped.

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 562. 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