WARNING: you are not looking at the live version but at an older version.

Using Ambisonics as production format

This document will eventually describe how to use Ambisonic panning in Ardour, both for producing Ambisonic content and for rendering it to other output formats such as POS or 5.1. There is an article on ardour.org that could be used, and me (Jörn) has one in the pipeline as well.

This document assumes basic familiarity with Ambisonic concepts and techniques.

*.*

Ardour can be used to create and process Ambisonic content, up to very high orders, thanks to its flexible routing concept with arbitrary numbers of channels per route.

When you want to create an Ambisonic mix, your Master bus (and any group busses you might want to use) become B-Format buses, with 4 channels for first-order, 9 for second-order, 16 for third-order, and so on. Or you could use intermediate channel counts for mixed-order setups. It is important to note that Ardour does not care what kind of data you send over those buses. The only Ardour component which does care are the panners, which currently only support discrete pair-wise panning, and hence must be bypassed. Consequently, it's the panners which decide what each of the channels in your master bus "means".

Instead of the built-in panners, use the AMB LADSPA plugin set by Fons Adriaensen, which provides spherical panners in 1st, 2nd, and 3rd order flavours. They use the Furse-Malham convention for channel ordering (W XYZ RSTUV KLMOPQ) and MaxN normalisation (i.e. each channel is normalized to fit between 0..1 for input at full scale). Each panner has two parameters, namely azimuth (horizontal angle, from -180 to 180) and elevation (vertical angle, from -90 to 90). Like all plugin parameters, these can be automated.

Before you start, some preparation is necessary:

  • Create a new session with an appropriate multi-channel master bus depending on the order you want to work in.
  • Activate the option "Run plugins during recording", so that the panners are activee while you're tracking (if you care about proper monitoring).
  • Create a mono track, bypass the default panner  and add a suitable panning plugin into the post-fader signal stream of each track.
  • Optionally, add some other utility plugins such as an EQ and a compressor, and save this track as a route template, from which you can then create as many tracks as you need.

Of course, now your Master bus will output B-Format, which cannot be fed to your monitor speakers directly. Instead, you will need an Ambisonic decoder to match your speaker layout.
For a real ambisonic setup, use Fons Adriaensen's ambdec. Be sure to check "Furse-Malham" input normalization, and connect the appropriate ports of your Ardour Master bus to ambdec's inputs. In turn, ambdec's outputs will feed your speakers.
If you need to render to stereo, you can use UHJ encoding, which will give a very pleasurable and reasonable two-channel rendering, but it is not suitable for serious suround monitoring. An UHJ encoding configuration example comes with jconv, which is a very handy convolution engine also useful for high-end reverb sounds.

If your target format is 5.1, you can still use Ambisonics as a production format, and extract a 5.0 feed afterwards, again using ambdec with a specially optimized decoding configuration (the LFE channel is not suitable for music anyways and should be handled separately, as you would in a normal 5.1 session).
To obtain high channel separation in ITU 5.1 as required by the movie industry, it's advisable to use at least third-order Ambisonics. For natural, coherent sound fields, second order is sufficient.

Comments (0)