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
For now, the only way to get the plug-ins is to retrieve the ambitools source code, edit the plug-ins compilation parameters in the Faust code and compile the tool to the desired plug-in format. To do so, 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.