vbap16 — Distributes an audio signal among 16 channels.


Distributes an audio signal among 16 channels.


ar1, ..., ar16 vbap16 asig, kazim [, kelev] [, kspread]


asig -- audio signal to be panned

kazim -- azimuth angle of the virtual source

kelev (optional) -- elevation angle of the virtual source

kspread (optional) -- spreading of the virtual source (range 0 - 100). If value is zero, conventional amplitude panning is used. When kspread is increased, the number of loudspeakers used in panning increases. If value is 100, the sound is applied to all loudspeakers.

vbap16 takes an input signal, asig, and distribute it among 16 outputs, according to the controls kazim and kelev, and the configured loudspeaker placement. If idim = 2, kelev is set to zero. The distribution is performed using Vector Base Amplitude Panning (VBAP - See reference). VBAP distributes the signal using loudspeaker data configured with vbaplsinit. The signal is applied to, at most, two loudspeakers in 2-D loudspeaker configurations, and three loudspeakers in 3-D loudspeaker configurations. If the virtual source is panned outside the region spanned by loudspeakers, the nearest loudspeakers are used in panning.

[Warning] Warning

Please note that all vbap panning opcodes require the vbap system to be initialized using vbaplsinit.


See the entry for vbap8 for an example of usage of the vbap opcodes.


Ville Pulkki: Virtual Sound Source Positioning Using Vector Base Amplitude Panning Journal of the Audio Engineering Society, 1997 June, Vol. 45/6, p. 456.

See Also

vbap16move, vbap4, vbap4move, vbap8, vbap8move, vbaplsinit, vbapz, vbapzmove


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. Input parameters accept k-rate since Csound 5.09.