O7A A60->B Converter and O7A B->A60 Converter

O7A B->A60 Converter

Host Support

O7A B->A60 Converter

Host TypeSupport
AAXNo
VST2Yes

O7A A60->B Converter

Host TypeSupport
AAXNo
VST2Yes

Audio

O7A B->A60 Converter

ChannelsContent
Input64O7A (B-Format)
Output60A60 (A-Format)

O7A A60->B Converter

ChannelsContent
Input60A60 (A-Format)
Output64O7A (B-Format)

Description

These plugins translate from 64 channel O7A B-Format to a 60 channel "A-Format" and back again.

What do we mean by A-Format Here?

When working with seventh order ambisonics (O7A) streams, it is often not obvious what the 64 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 O7A 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 60 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 60 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 O7A B-Format and this special 60 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 O7A 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!

If this does not make any sense yet, it might help to see this output from the O7A Visualiser where only channel 30 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 60 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!)

The A-Format used here has slightly fewer channels (60) than the B-Format (64). If you convert from B-Format to this A-Format and then straight back again, your signal will be essentially as it started, but a little spatial information will be lost.

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
600-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 60 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.

The plugin is available in the O7A Manipulators plugin library.