oscil1i
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.
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 of the oscil1i opcode. |
|---|
| <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 Access