Binaural Monitoring of HOA:
Filter:
atk-sc3/Guides (extension) | Libraries > Ambisonic Toolkit > Guides & Tutorials

Binaural Monitoring of HOA
ExtensionExtension

Higher Order Ambisonic (HOA) binaural decoding examples
 

Binaural decoding is viewed as an important way to both distribute and listen critically to an Ambisonic soundfield.

HOA source, FOA toolset

The FOA toolset includes optimized tools for decoding FOA for critical binaural monitoring.1

To use these, we'll need to exchange Ambisonic formats. We'll choose to use the idiom illustrated here. (We can also use the other)

As a kernel operation, synthesis takes more time and a delay is introduced. This delay time depends on the size of the kernel and the blockSize of the Server in use.2

You'll want to review:

As we're assuming a signal in the ATK's default HOA form, HOA3, we'll view the task as:

  1. format exchange HOA3 to FOA
  2. decode FOA to binaural

We'll use FoaDecoderKernel: *newCIPIC for step 2:

After we're done, we should free the decoder kernel:

NOTE: The use of FoaProximity requires signal pre-conditioning. See the WARNING here.

SC-HOA library

The SC-HOA library includes a number of binaural decoders we can use with the ATK's HOA signal set.

We should approach the task of exchanging signals with the SC-HOA library as the problem described here.

NOTE: We need to make sure that we're matching the expected encoding format reference radius. See details below!

HOABinaural

The HOABinaural decoder uses HRIR measurements made at 3.25 meters, 3 and supports up to seventh order. For this task 3.25 is the reference radius.

As with the ATK's internal FOA binaural support, this is a kernel operation, and therefore requires greater resources and introduces a small delay.

If we've installed the SC-HOA library, this search will return an example illustrating the use of HOABinaural.

We'll use the ATK's default HOA form, HOA3. The steps will be:

  1. format exchange HOA3 to SC-HOA3 (reference radius = 3.25)
  2. decode SC-HOA3 (reference radius = 3.25) to binaural
NOTE: You'll need to review the examples found here to successfully use HOABinaural. In particular, you'll need to correctly load and free the required filter kernels.

HOADecLebedevXX

The SC-HOA library includes three more decoders:

  1. HOADecLebedev06
  2. HOADecLebedev26
  3. HOADecLebedev50

These decode to a spherical design called a Lebedev grid. Conveniently these pseudo-UGens include functionality to load a set of HRIR measurements for binaural decoding. These HRIR measurements correspond to a reference of 1.07 meters.4 Decoding up to 5th order is supported.

As with the ATK's internal FOA binaural support, this is a kernel operation, and therefore requires greater resources and introduces a small delay.

If we've installed the SC-HOA library, this search will return an example illustrating the use of HOADecLebedev26.

We'll use the ATK's default HOA form, HOA3. The steps will be:

  1. format exchange HOA3 to SC-HOA3 (reference radius = 1.07)
  2. decode SC-HOA3 (reference radius = 1.07) to binaural
NOTE: You'll need to review the examples found here to successfully use HOADecLebedev26. In particular, you'll need to correctly load and free the required filter kernels.

[1] - Review technical details here.
[2] - See this link to review calculation of the delay introduced.
[3] - See:
  • ambitools manual page.
  • Bernschütz, Benjamin. "A Spherical Far Field HRIR/HRTF Compilation of the Neumann KU 100", Proceedings of the 40th Italian (AIA) Annual Conference on Acoustics and the 39th German Annual Conference on Acoustics (DAGA) Conference on Acoustics. 2013.
  • http://audiogroup.web.th-koeln.de/ku100hrir.html
[4] - You may to review the foot note on reference radius for this library by following reviewing: SC-HOA encoding format