ksig -- the input signal
kfirst -- first zk or za location in the range to clear.
klast -- last zk or za location in the range to clear.
zkcl clears one or more variables in the zk space. This is useful for those variables which are used as accumulators for mixing k-rate signals at each cycle, but which must be cleared before the next set of calculations.
Here is an example of the zkcl opcode. It uses the files zkcl.orc and zkcl.sco.
Example 1. Example of the zkcl opcode.
/* zkcl.orc */
; Initialize the global variables.
sr = 44100
kr = 4410
ksmps = 10
nchnls = 1
; Initialize the ZAK space.
; Create 1 a-rate variable and 1 k-rate variable.
zakinit 1, 1
; Instrument #1 -- a simple waveform.
instr 1
; Linearly vary a k-rate signal from 220 to 1760.
kline line 220, p3, 1760
; Add the linear signal to zk variable #1.
zkw kline, 1
endin
; Instrument #2 -- generates audio output.
instr 2
; Read zk variable #1.
kfreq zkr 1
; Use the value of zk variable #1 to vary
; the frequency of a sine waveform.
a1 oscil 20000, kfreq, 1
; Generate the audio output.
out a1
; Clear the zk variables, get them ready for
; another pass.
zkcl 0, 1
endin
/* zkcl.orc */
/* zkcl.sco */
; Table #1, a sine wave.
f 1 0 16384 10 1
; Play Instrument #1 for three seconds.
i 1 0 3
; Play Instrument #2 for three seconds.
i 2 0 3
e
/* zkcl.sco */