Vector Base Amplitude Panning Library

Implementation of Vector-Base Amplitude Panning (VBAP) and variants for sound spatialization.
533 Downloads
Updated 13 Nov 2016

# Vector Base Amplitude Panning Library
#### A compact library implementing the Vector Base Amplitude Panning (VBAP) method and variants for sound spatialization.
---
> Archontis Politis, 2015
> Department of Signal Processing and Acoustics, Aalto University, Finland
> archontis.politis@aalto.fi
---

This Matlab/Octave library was developed during my doctoral research in the [Communication Acoustics Research Group] (http://spa.aalto.fi/en/research/research_groups/communication_acoustics/), Aalto University, Finland. If you would like to reference the code, you can refer to my dissertation published [here](https://aaltodoc.aalto.fi/handle/123456789/22499):

Archontis Politis, Microphone array processing for parametric spatial audio techniques, 2016
Doctoral Dissertation, Department of Signal Processing and Acoustics, Aalto University, Finland

## Description

This is a compact Matlab/Octave library implementing vector-base amplitude
panning (VBAP) [ref.1], VBAP-base spreading of a panned source [ref.2&3],
and Multiple-direction amplitude panning (MDAP) [ref.3]. A function
implementing the variant vector-base intensity panning [ref.4] is also
included. Recently, both VBAP and VBIP have been additionaly used for the
design of robust ambisonic decoding matrices, see [ref.5&6].

The code is written by Archontis Politis, except the core vbap()
function contributed by Ville Pulkki, with small modifications by
Archontis Politis. The following code examples are meant to give a quick
idea how to use the library for common operations in amplitude panning,
such as triangulation of a 3D loudspeaker setup into loudspeaker triplets,
spreading of a panned source, construction of panning gain
tables, and panning a moving source in a real-time block processing context.

For a demonstration of the various function, see [http://research.spa.aalto.fi/projects/vbap-lib/vbap.html],
or go through the TEST_VBAP_SCRIPTS.m script. For more detailed information, check the help output of the functions
and the code itself.

The library contains the following main functions:

* findLsPairs: find sorted loudspeaker pairs from loudspeaker directions (for 2D layouts)
* findLSTriplets: find valid loudspeaker triangles from loudspeaker directions (for 3D layouts)
* invertLsMtx: precompute inversion of matrix of loudspeaker triplets or pairs, for use in VBAP
* getSpreadSrcDirs: get auxiliary source directions around panning direction, for source spreading and MDAP
* vbap: Return VBAP panning gains for multiple panning directions, with spread control if needed

Additionaly:

* plotTriangulation: Plots the loudspeaker triangulated mesh
* getGainTable: Construct a look-up VBAP gain table of VBAP for a specified regular grid
* vbip: Similar to VBAP, but implementing its energy-based variant (see [ref.4])
* getPValueResponse: Returns VBAP frequency-dependent normalization values, for approximate flat perceived response of a panned source in dry playback environments (see [ref.7])

For any questions, comments, corrections, or general feedback, please
contact archontis.politis@aalto.fi

## References

[1] Pulkki, V. (1997). Virtual Sound Source Positioning Using Vector Base Amplitude Panning.
Journal of the Audio Engineering Society, 45(6), 456-466.

[2] Pulkki, V. (2000). Generic panning tools for MAX/MSP.
International Computer Music Conference (ICMC), Berlin, Germany

[3] Pulkki, V. (1999). Uniform Spreading of Amplitude Panned Sources.
IEEE Workshop on Applications of Signal Processing to Audio and Acoustics (WASPAA), New Paltz, NY, USA

[4] Jot, J.-M., Larcher V., Pernaux, J.-M. (1999). A comparative study of 3-D audio encoding and rendering techniques.
16th International Conference of the AES, Rovaniemi, Finland

[5] Zotter, F., Frank, M. (2012). All-Round Ambisonic Panning and Decoding.
Journal of the Audio Engineering Society, 60(10), 807-820.

[6] Epain, N., Jin, C.T., Zotter, F. (2014). Ambisonic Decoding With Constant Angular Spread.
Acta Acustica united with Acustica, 100(May), 928-936.

[7] Laitinen, M., Vilkamo, J., Jussila, K., Politis, A., Pulkki, V. (2014).
Gain normalization in amplitude panning as a function of frequency and room reverberance.
55th International Conference of the AES. Helsinki, Finland.

Cite As

Archontis Politis (2024). Vector Base Amplitude Panning Library (https://github.com/polarch/Vector-Base-Amplitude-Panning), GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2015b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Versions that use the GitHub default branch cannot be downloaded

Version Published Release Notes
1.0.0.0

Figure added
Updated description

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.