HOA Tutorial Exercise 09:
Filter:
SC-HOA/Tutorials (extension) | Libraries > HOA

HOA Tutorial Exercise 09
ExtensionExtension

Interfacing VBAP, Ambisonics, Binaural Rendering.

Previous: Exercise_08_HOA_proxyspace_recording

Next: Exercise_10_HOA_decoding_for_speaker_arrays

This Tutorial shows how to use Binaural Rendering in combination with VBAP and Ambisonics.

You can use HOABinaural in combination with the HOAEncLebedev50 in order to listen to VBAP spatializations: First extract the Lebedevnode grid positions (azimuth and elevation), pack them in pairs and convert them to degrees. Use these positions as speaker positions in your VBAPSpeakerArray and prepare the necessary buffer for VBAP triangulation.

Now encode a Noise source over VBAP with the Lebedev speaker positions and feed this 50 channels into the HOAEncLebedev50 e.g. for the 5th order. Then, binauralize the resulting b-format.

The next example is for comparison with the Lebedev50BinauralDecoder. first we need the HRIRs:

Then we can encode again directly into a Lebedev 50 VBAP grid and convolve the grid positions directly with the HRIRs.

If you want to encode any array of virtual speakers into the b-format assuming distant static sound sources as plane waves you can use the class HOASphericalHarmonics, which returns for a given order the coefficients for each combination of azimuth and elevation.

Encoding of sources using HOASphericalHarmonics listened to via binaural rendering would then work like that:

Now we can implememt the Lebedev VBAP grid from above circumventing HOAEncLebedev50. This in turn means that you can replace these VBAP positions with any positions of your choice.

The next example is exactly as the first one but we remove the HOAEncLebedev50 encoder and replace the encoding step with the spherical harmonics from above from above.

In the next example we encode the VBAP sources with the HOAEncoder.

Previous: Exercise_08_HOA_proxyspace_recording

Next: Exercise_10_HOA_decoding_for_speaker_arrays