How To: Higher-Order Ambisonics (HOA) on a Mac

with No Comments

This tutorial describes how to render sound files into higher-order Ambisonics (up to seventh order) using the Reaper DAW and the IEM Suite plugins.

Install the Software

Download and install Reaper:

https://www.reaper.fm/download.php

The version I downloaded was:

reaper683_universal.dmg

Reaper is a stand-alone app that you place in your applications folder. They provide a fully-functional, 60-day trial.

Download and install the IEM Suite plugins:

https://plugins.iem.at/download/

The version I downloaded was:

IEMPluginSuite_v1.14.1.pkg

The installer puts all the plugins in the correct places:

Plug-ins here:

/Library/Audio/Plug-Ins/VST
/Library/Audio/Plug-Ins/LV2

Stand-alones here:

/Applications/IEM Plug-in Suite

Launch Reaper. You can see the plugins by going here:

View–>FX Browser–>[Search for IEM]

You should see all the IEM plug-ins (both VST and LV2).

Set up Reaper and the IEM Plug-ins

Create a new project in Reaper (if one hasn’t already been created).

Click on the icon with the “i” with a circle around it. Check the box and match the sample rate to your sound files.

Double-click in the mixer area to create a new track, one for Headphones, and one for Ambisonics.

Rename the tracks by double-clicking above the track number in the mixing area.

The Headphone track will be used for binaural monitoring and rendering. The Ambisonics track will used for all the sound sources and their spatial positioning.

Click on the Route button (above the word “Route” on the tracks in the mixer area).

On both the tracks, change “Track Channels” to match the number necessary for the order of Ambisonics you are using. This is obtained with the following formula: ((Order+1)^2).

For example, 7th order is: ((7+1)^2)=64.

Note: It looks like Reaper does Track Channels in even numbers only; for an odd number, set it to the next higher number; for example, for 6th order Ambisonics (i.e., [[6+1]^2]=49), set the Track Channels to 50, don’t use the last channel, and upon rendering, render out 49 channels.

On the Ambisonics track (on the dialog box that appears after pressing the Route button), uncheck “Master send channels from/to”, but leave it checked on the Headphone track.

Click and drag the Route button from the Ambisonics track to the Route button of the Headphones track.

In the dialog box that appears, click Audio–>Multichannel source–>Select “1–64” (or use the number you need for the Ambisonics order you are using).

At the top of each track, click on the bar that says FX.

Add the plugin “VST: Binaural Decoder” to the Headphones track.

Add the plugins “VST: Multi Encoder” and “VST: Energy Visualizer” to the Ambisonics track.

If you have a single audio file for your sound source(s), drag and position the file on the Ambisonics track in the arrange window. The audio file can be mono or multi-channel (a single sound file can be up to 64 channels; above that, it doesn’t return an error, but the waveforms of the track don’t appear in the region).

If you have multiple audio files for your sound source(s), create new tracks by double-clicking in an empty area under the track headers in the arrange window. Set the size of each track according to the Ambisonics order you are using (press the Route button on each track and adjust “Track Channels”). Select the new tracks and drag them onto the Ambisonic track (the tracks will appear indented, showing they are succesfully routed to the Ambisonic track). Drag and position your audio files on the new tracks as desired. The audio files can be mono or multi-channel.

Go back to the “VST: Multi Encoder” plug in, in the upper left corner, select the number that matches the channel count of your highest multi-channel sound file. For example, for a 64-channel audio file, change it to 64. This will add azimuth, elevation, gain, solo, and mute controls for each channel in the sound file(s).

Using the “VST: Multi Encoder” plug-in GUI, position each channel in the audio file(s) in the sound field as desired. Add automation, if needed.

Note: Double-click on the sphere GUI in the “VST: Multi Encoder” for a linear readout.

The 1st input channel may clip (i.e., the omni channel or W channel), even when the original multi-channel render is rather low (i.e., -6dBFS to -12dBFS per channel). To prevent this, insert the plug-in “VST: OmniCompressor” in the Ambisonics track (before the plug-in “VST: Energy Visualizer”). Set the Threshold to -0.1dB, Ratio to inf:1, Attack to 0.0ms, and turn on Look Ahead. You can leave Knee and Makeup at 0.0dB. Adjust the Release to taste.

Render the Audio Files

The IEM plug-in suite uses the following as default:

Channel ordering: ACN (AmbiX)
Normalization: SN3D (AmbiX)

To render a track, click on the track in the mix area so it is highlighted.

Go to: File–>Render…

Source: Selected tracks (stems)
Channels: Stereo if rendering the Binaural track, or click and type in 64 (or the number for the Ambisonics order you are rendering) if rendering the Ambisonics track.

Note: Rendering large files (i.e., >4GB) requires a format like Wave64 or CAF.


See the following sources:

https://plugins.iem.at/docs/installation/
https://plugins.iem.at/docs/tutorial_basicrouting/
https://plugins.iem.at/docs/plugindescriptions/
https://plugins.iem.at/docs/compatibility/
https://www.youtube.com/watch?v=K5K4Q2Ze92o&t=183s (starting at about 3:03)
https://forums.cockos.com/showthread.php?t=176041
https://www.youtube.com/watch?v=_G-oEZrRtPw

See the following for up to tenth-order Ambisonics:

https://www.youtube.com/watch?v=e7PdqEfHTO0
https://www.ssa-plugins.com
https://leomccormack.github.io/sparta-site/

Leave a Reply