O3A A20->B Converter and O3A B->A20 Converter
Host Support
O3A B->A20 Converter
Host Type | Support |
---|---|
AAX | No |
VST2 | Yes |
O3A A20->B Converter
Host Type | Support |
---|---|
AAX | No |
VST2 | Yes |
Audio
O3A B->A20 Converter
Channels | Content | |
---|---|---|
Input | 16 | O3A (B-Format) |
Output | 20 | A20 (A-Format) |
O3A A20->B Converter
Channels | Content | |
---|---|---|
Input | 20 | A20 (A-Format) |
Output | 16 | O3A (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.
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:
- 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!
- 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.
- 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:
Number | X | Y | Z |
---|---|---|---|
1 | 0 | 0.357 | 0.934 |
2 | 0 | -0.357 | 0.934 |
3 | -0.577 | 0.577 | 0.577 |
4 | 0.577 | 0.577 | 0.577 |
5 | 0.577 | -0.577 | 0.577 |
6 | -0.577 | -0.577 | 0.577 |
7 | -0.934 | 0 | 0.357 |
8 | 0.934 | 0 | 0.357 |
9 | -0.357 | 0.934 | 0 |
10 | 0.357 | 0.934 | 0 |
11 | 0.357 | -0.934 | 0 |
12 | -0.357 | -0.934 | 0 |
13 | -0.934 | 0 | -0.357 |
14 | 0.934 | 0 | -0.357 |
15 | -0.577 | 0.577 | -0.577 |
16 | 0.577 | 0.577 | -0.577 |
17 | 0.577 | -0.577 | -0.577 |
18 | -0.577 | -0.577 | -0.577 |
19 | 0 | 0.357 | -0.934 |
20 | 0 | -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.
- O3A A20->B Converter
- O3A B->A20 Converter
- O3A Compressor
- O3A Diffuser
- O3A Directional Emphasis
- O3A Directional Mask
- O3A Graphic Equalizer
- O3A Join
- O3A Line
- O3A Low/High Pass Filter
- O3A Move
- O3A Order Amplifier
- O3A Panner LS
- O3A Panner LS XYZ
- O3A Panner LS8
- O3A Parametric Equalizer
- O3A Portal
- O3A Reflection
- O3A Screen Resizer
- O3A Spatial Equalizer
- O3A Spatial Mask
- O3A Spatial Mask Split
- O3A Spotlight
- O3A Spotlight Split
- O3A Swap
- O3A Zoom
- O3A Zoom XYZ