kndx -- points to the za location to be read.
kgain -- multiplier for the a-rate signal.
zarg reads the array of floats at kndx in za space, which are ksmps number of a-rate floats to be processed in a k cycle. zarg also multiplies the a-rate signal by a k-rate value kgain.
Here is an example of the zarg opcode. It uses the files zarg.orc and zarg.sco.
Example 1. Example of the zarg opcode.
/* zarg.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
; Generate a simple sine waveform, with an amplitude
; between 0 and 1.
asin oscil 1, 440, 1
; Send the sine waveform to za variable #1.
zaw asin, 1
endin
; Instrument #2 -- generates audio output.
instr 2
; Read za variable #1, multiply its amplitude by 20,000.
a1 zarg 1, 20000
; Generate audio output.
out a1
; Clear the za variables, get them ready for
; another pass.
zacl 0, 1
endin
/* zarg.orc */
/* zarg.sco */
; Table #1, a sine wave.
f 1 0 16384 10 1
; Play Instrument #1 for one second.
i 1 0 1
; Play Instrument #2 for one second.
i 2 0 1
e
/* zarg.sco */