iskip (optional, default=0) -- initial disposition of internal save space (see reson). The default value is 0.
imode (optional, default=0) -- sets the initial output value to the first k-rate input instead of zero. The following graphs show the output of interp with a constant input value, in the original, when skipping init, and in the new mode:
ksig -- input k-rate signal.
interp converts a control signal to an audio signal. It uses linear interpolation between successive kvals.
Here is an example of the interp opcode. It uses the files interp.orc and interp.sco.
Example 15-4. Example of the interp opcode.
/* interp.orc */
; Initialize the global variables.
sr = 8000
kr = 8
ksmps = 1000
nchnls = 1
; Instrument #1 - a simple instrument.
instr 1
; Create an amplitude envelope.
kamp linseg 0, p3/2, 20000, p3/2, 0
; The amplitude envelope will sound rough because it
; jumps every ksmps period, 1000.
a1 oscil kamp, 440, 1
out a1
endin
; Instrument #2 - a smoother sounding instrument.
instr 2
; Create an amplitude envelope.
kamp linseg 0, p3/2, 25000, p3/2, 0
aamp interp kamp
; The amplitude envelope will sound smoother due to
; linear interpolation at the higher a-rate, 8000.
a1 oscil aamp, 440, 1
out a1
endin
/* interp.orc */
/* interp.sco */
; Table #1, a sine wave.
f 1 0 256 10 1
; Play Instrument #1 for two seconds.
i 1 0 2
; Play Instrument #2 for two seconds.
i 2 2 2
e
/* interp.sco */