Skip to main content

Ambisonics Order

Ambisonics is a spatial-audio technique which uses spherical harmonics to represent a three-dimensional sound field. The ambisonics order controls the spatial extent and complexity of the wavefield which can be represented accurately. We offer ambisonics orders 1, 2, 4, 8, 16 and 32. If you are interested in anything in between, feel free to submit a feature request. The reason for these specific numbers is that spherical harmonics representations tend to work better for orders 2n2^n but if there is interest in something else, we are happy to oblige.

The rule of thumb you can use when considering what the ambisonics can resolve is this one:

R=Nc2πf,R = \frac{N c}{2 \pi f},

where RR is the radius of the sphere it can resolve, NN is ambisonics order, cc is speed of sound, and ff is frequency.

Illustration of device in enclosed sphere

The size of the wavefield which can be resolved is thus proportional to the ambisonics order but inversely proportional to frequency (wavefield complexity). In order to capture the full effect of the device, then the sphere (originating at coordinate [0,0,0]) needs to fully enclose the device. However, there are cases where resolving the full device is not necessary for the entire frequency range but rather resolve the full range in the immediate vicinity of the microphones and only lower frequencies further away from the origin. As an example, lets take a mannequin style device. We can resolve the full effect of the head up to, for example, 10,000 Hz but not the full effect of the torso. That does not mean that the torso is ignored, but rather that we only resolve the effects which it has on lower frequency waves.

We provide tools to visualize this sphere of resolution as a function of frequency. One way is to plot it like this

treble.free_field.plot_resolution_of_ambisonics_orders()
Ambisonics guideline

where the resolved sphere radius is on the y-axis and maximum resolved frequency for that sphere size on the y-axis. We also provide the option of printing a table of resolved frequencies per ambisonics order for a specific sphere radius.

treble.free_field.print_ambisonics_order_guideline(sphere_radius=0.20)

Note that the sphere is always centered at coordinate [0,0,0], so it can help to center your device at that coordinate. Keep in mind though, that this is also the point of rotation when it comes to rotating the device before rendering the response. The table that gets printed with the code snippet above, always gets printed when you create a device creation simulation with the settings you have selected highlighted.