Introduction
ambitools is a collection of tools and audio plug-ins for 3D sound field synthesis using Higher Order Ambisonics (HOA).
The plugins are written in the Faust language, which allows them to be compiled for a multitude of architectures and platforms (Windows, Mac, Linux, WebAudio, embedded systems, etc.)
Moreover, the code is written in a scalable way: there is no limit to the maximum Ambisonic order! Other tools are also available, such as a 3D Visualizer written in the Processing language. Enjoy!
Pierre Lecomte
Installation
Faust tools
The easiest way to install and use the faust plugins is to use the download page, which offers to compile the chosen tool online, with the desired compilation parameters (see the documentation of the corresponding tools).
An alternative way is to retrieve the ambitools source code and compile it yourself. You’ll need to install Faust.
Processing Visualizer
To install the visualizer, the sources are needed: see the download page. Then, you will need to install Processing and compile the script.
ambitools Conventions
The following section details the conventions used in ambitools.
Spherical coordinate system
The spherical coordinate system in use (see Fig.1), a point at $\mathbf{r} = (r, \theta, \phi)$ is located by its radius $r$, with $r \in [0, \infty[$, its azimuth (longitude) angle $\theta$, with $\theta \in ]-180, 180^\circ]$ and its elevation (latitude) angle $\phi$, with $\phi \in [-90, 90^\circ]$, such that:
\[\begin{equation} \begin{aligned} &x = r \cos(\theta) \cos(\phi), \\ &y = r \sin(\theta) \cos(\phi), \\ &z = r \sin(\phi). \end{aligned} \label{eq:spherical_coordinates} \end{equation}\]Spherical Harmonics
The spherical harmonics used in ambitools are real-valued, $4\pi$ normalized. See more details and definitions in ylm.lib.
Ambisonic “order” or “degree”?
In ambitools, the maximal spherical harmonics degree, denoted $L$, corresponds to the Ambisonic order, from Higher Order Ambisonics (HOA) denomination.