oscil1i — Accesses table values by incremental sampling with linear interpolation.
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.
Here is an example of the oscil1i opcode. Play oscil1i.csd
Example 683. 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>