To manage workflows within the ATK, and facilitate the integration of third party toolsets and exchange of Ambisonic signals, it is critical to understand Ambisonic encoding formats.
On this page we'll present a few examples of exchanging between signal sets, beginning with the two equivalent forms described earlier.
What we'll see is that the chosen practical implementation depends upon how we imagine the format exchange. Exchange can be seen as decoding to one signal set from another, or encoding from one to the other. How we view this exchange informs what tools we will choose to use.
For successful exchange, we need to match Ambisonic:
An FOA signal set can be directly exchanged to become an HOA set. Here we'll review FOA and HOA1.
Two different, but equivalent forms are expressed here. In choosing which form to use, the idiom is to be clear as to what we view the primary signal set to be.
FOA and HOA1 are both first order signal sets, so we know this aspect is already matched.
We can check the others:
Or, lump ordering and normalisation into the format keyword:
Viewed as decoding FOA to HOA1, we'll use the FOA toolset to target HOA1.
The tools for the task are:
The steps are:
Viewed as encoding HOA1 from FOA, we'll use the HOA toolset.
Framed in this way, the tools for the task are:
The steps are:
A common workflow task is to return an FOA deliverable from a higher order signal set.
As part of this exchange, we'll truncate the harmonics of the HOA set, which is lowpass filtering in the spatial domain. Doing so reduces the spatial sampling rate and is equivalant applying the Nyquist anti-aliasing filters required in time domain downsampling.
From the beginning, the Ambisonic framework has been designed to be hierarchical in terms of spatial resolution and distribution. That is to say, spatial downsampling is part of the underlying theory and architecture.
Let's see how to express moving from the ATK's default higher order set, HOA3, and the ATK's default first order set.
Viewed as decoding HOA3 to FOA, we'll use the HOA3 toolset to target FOA.
The tools for the task are:
And the steps:
Viewed as encoding FOA from HOA3, we'll use the FOA toolset to target HOA3.
The tools for the task are:
And the steps:
Given a matched order, when we review the encoding format of the SC-HOA library, we see that the only aspect requiring exchange is the reference radius.
The tool for the task is:
We will decode to the SC-HOA library signal set if we'd like to use the tools found there.
Let's consider an HOA7 signal. At the time of this writing, the highest Ambisonic order supported by the SC-HOA library is fifth order, so for successful exchange, an HOA7 signal will requiare spatial downsampling.
If you haven't already, see the discussion on truncation, above.
The steps are:
Here's an example:
Encoding from the SC-HOA library signal set is even more simple.
All we need to do is:
In the modern age of Ambisonics, AmbiX is the encoding format most commonly found.
To successfully exchange Ambisonic signals we'll need to match Ambisonic order, along with:
If we're planning to use an AmbiX toolset for further processing, we'll need to decode to AmbiX.
Let's consider an HOA3 signal, with is the ATK's default for HOA:
The tools for the task are:
The steps are:
Here's an example:
If given an Ambix encoded signal, we'll need to encode from AmbiX to HOA.
Let's consider a third order AmbiX signal, which corresponds with the ATK's default HOA order:
The tools for the task are:
The steps are:
Here's an example:
If we do wish to use HoaNFProx: *ar, the HOA1 signal should be pre-conditioned with a highpass filter to prevent overflow and excessive bass boost.
Here's an example:
Here's an example: