Table ifn is incrementally sampled modulo the table length and the value obtained is multiplied by amp.
ifn -- function table number. Requires a wrap-around guard point.
iphs (optional) -- initial phase of sampling, expressed as a fraction of a cycle (0 to 1). A negative value will cause phase initialization to be skipped. The default value is 0.
kamp, xamp -- amplitude
kcps, xcps -- frequency in cycles per second.
oscil3 is experimental, and is identical to oscili, except that it uses cubic interpolation. (New in Csound version 3.50.)
Here is an example of the oscil3 opcode. It uses the files oscil3.orc and oscil3.sco.
Example 1. Example of the oscil3 opcode.
/* oscil3.orc */
/* Written by Kevin Conder */
; Initialize the global variables.
sr = 44100
kr = 4410
ksmps = 10
nchnls = 1
; Instrument #1 - a basic oscillator.
instr 1
kamp = 10000
kcps = 220
ifn = 1
a1 oscil kamp, kcps, ifn
out a1
endin
; Instrument #2 - the basic oscillator with cubic interpolation.
instr 2
kamp = 10000
kcps = 220
ifn = 1
a1 oscil3 kamp, kcps, ifn
out a1
endin
/* oscil3.orc */
/* oscil3.sco */
/* Written by Kevin Conder */
; Table #1, a sine wave table with a small amount of data.
f 1 0 32 10 0 1
; Play Instrument #1, the basic oscillator, for
; two seconds. This should sound relatively rough.
i 1 0 2
; Play Instrument #2, the cubic interpolated oscillator, for
; two seconds. This should sound relatively smooth.
i 2 2 2
e
/* oscil3.sco */