inumchnls -- number of channels to write to the ZA array. Must be in the range 2 - 256.
istartndx -- first index or position in the ZA array to use
ispread -- spreading of the virtual source (range 0 - 100). If value is zero, conventional amplitude panning is used. When ispread is increased, the number of loudspeakers used in panning increases. If value is 100, the sound is applied to all loudspeakers.
ifldnum -- number of fields (absolute value must be 2 or larger). If ifldnum is positive, the virtual source movement is a polyline specified by given directions. Each transition is performed in an equal time interval. If ifldnum is negative, specified angular velocities are applied to the virtual source during specified relative time intervals (see below).
ifld1, ifld2, ... -- azimuth angles or angular velocities, and relative durations of movement phases (see below).
asig -- audio signal to be panned
The opcode vbapzmove is the multiple channel analog of the opcodes like vbap4move, working on inumchnls and using a ZAK array for output.
Example 1. 2-D panning example with stationary virtual sources
sr = 4100 kr = 441 ksmps = 100 nchnls = 4 vbaplsinit 2, 6, 0, 45, 90, 135, 200, 245, 290, 315 instr 1 asig oscil 20000, 440, 1 a1,a2,a3,a4,a5,a6,a7,a8 vbap8 asig, p4, 0, 20 ;p4 = azimuth ;render twice with alternate outq statements ; to obtain two 4 channel .wav files: outq a1,a2,a3,a4 ; outq a5,a6,a7,a8 endin
Ville Pulkki: "Virtual Sound Source Positioning Using Vector Base Amplitude Panning" Journal of the Audio Engineering Society, 1997 June, Vol. 45/6, p. 456.
Author: Ville Pulkki
Sibelius Academy Computer Music Studio
Laboratory of Acoustics and Audio Signal Processing
Helsinki University of Technology
Helsinki, Finland
May, 2000 (New in Csound Version 4.07)
John ffitch (vbapz, vbabzmove)
University of Bath/Codemist Ltd.
Bath, UK
May, 2000 (New in Csound Version 4.07)