O3A A20->B Converter and O3A B->A20 Converter

O3A B->A20 Converter

Host Support

O3A B->A20 Converter

Host TypeSupport
AAXNo
VST2Yes

O3A A20->B Converter

Host TypeSupport
AAXNo
VST2Yes

Audio

O3A B->A20 Converter

ChannelsContent
Input16O3A (B-Format)
Output20A20 (A-Format)

O3A A20->B Converter

ChannelsContent
Input20A20 (A-Format)
Output16O3A (B-Format)

Description

These plugins translate from 16 channel O3A B-Format to a 20 channel "A-Format" and back again.

What do we mean by A-Format Here?

When working with third order ambisonics (O3A) streams, it is often not obvious what the 16 channels of audio within the streams actually 'mean'. It is also often difficult to apply conventional processing directly to the streams without disrupting the 3D.

The terms "A-Format" and "B-Format" strictly relate to microphone techniques, where A-Format is the direct output of a number of directional microphone capsules (typically four cardioids) and B-Format is the full ambisonic stream. For our purposes here, by B-Format we mean the full O3A stream and by A-Format we mean a breakdown of the stream into a collection of channels corresponding to individual directions (although with a sharper response than cardioid). These two plugins translate between these two formats.

We convert to A-Format because some processing is more naturally applied there. This approach was pioneered by Joseph Anderson.

For our A-Format breakdown we use 20 fairly evenly distributed directions set out so some are above and below. You can think of the channels of the A-Format as being similar to narrow microphone responses in these directions.

This 20 channel A-Format is not compatible with the 4 channel A-Format produced by first order ambisonic microphones. It is similar to, but not the same as, Spatial PCM.

How can we use A-Format?

You can convert freely between normal O3A B-Format and this special 20 channel A-Format.

Once you have your audio in A-Format, you can modify the individual channels of the A-Format and only affect audio in a particular direction (subject to some overlap). For instance, you might want to apply a distortion effect to an O3A mix. Applying distortion to B-Format directly will produce very strange spatial results, but applying it to A-Format will probably give you what you were expecting!

The numbering of the directions is shown as a figure in the plugin display (shown above). If this figure does not make any sense yet, it might help to see this output from the O3A Visualiser where only channel 10 of the A-Format has been kept (i.e. the others are silent). This channel is to the left, slightly towards the front.

One Channel Visualised

When converting from B-Format to A-Format, this shape can be thought of as an imaginary microphone response pattern. There are 20 such responses, overlapping each other. When converting from A-Format to B-Format, this shape can be thought of as the location at which the A-Format channel audio will be placed. The shape is nearly, but not quite, circular around its main direction. (There are some mathematical reasons why it is not actually circular which relate to some somewhat mind-bending topics. Contact us if you are really interested!)

Some other things you might like to know:

  1. If you convert from B-Format to this A-Format and then straight back again, your signal will be essentially as it started. Try it - if it does not work, check you have set your channel count to 20!
  2. The opposite is not true. If you start with this A-Format, convert to B-Format and then back again, you will lose a little detail. As we have packed 20 independent channels into 16 channels and then attempted to unpack again to 20 channels, perhaps this is not so surprising.
  3. The directions in this A-Format can be seen as the corners of a dodecahedron or the faces of an icosahedron.

Directions

Using the ambisonic convention (X is forward, Y is left and Z is up) the directions, as unit vectors, are:

NumberXYZ
100.3570.934
20-0.3570.934
3-0.5770.5770.577
40.5770.5770.577
50.577-0.5770.577
6-0.577-0.5770.577
7-0.93400.357
80.93400.357
9-0.3570.9340
100.3570.9340
110.357-0.9340
12-0.357-0.9340
13-0.9340-0.357
140.9340-0.357
15-0.5770.577-0.577
160.5770.577-0.577
170.577-0.577-0.577
18-0.577-0.577-0.577
1900.357-0.934
200-0.357-0.934

Working with A-Format in Reaper

If you are working in Reaper, current versions do not make it particularly easy to set up processing of the A-format channels, but it is possible if you are prepared to use some advanced features and do some rather tedious set-up. For instance, you can save an "FX Chain" in which 20 mono compressor plugins are "routed" correctly and in which controls are linked by "parameter modulation" so that one set of controls operates the others. Once the FX Chain is saved, you can load it into other projects.

And finally - a "Gotcha":

If you are working in Reaper with O3A, you have probably set all your tracks to contain 16 channels. When working with A-Format in this way you need to set this to 20 or the last four A-Format channels will go missing!

The plugin is available in the O3A Manipulators plugin library.