O3A Decoder - Spatial Audio Dome 64
Host Support
Host Type | Support |
---|---|
AAX | No |
VST2 | Yes |
Audio
Channels | Content | |
---|---|---|
Input | 16 | O3A |
Output | 64 | Feeds for 64 Spatial Audio Objects |
Description
This plugin converts a 3D O3A mix into 64 channels of audio for use in a "Spatial Audio" mix.
When we use the term "Spatial Audio" here, we mean systems like Dolby Atmos or Apple Spatial Audio which represent the audio scene using a fixed multichannel speaker bed and mono audio object located in 3D space. Here, we use a number of these audio objects as a dome of virtual speakers which present the O3A scene.
The plugin user interface shows a visualisation of the dome as seen from above.
Dome 64
This dome arrangement is designed for use with 64 objects. They need to be set to specific fixed locations:
Spatial Audio Coordinates between -1 and +1
Object | Left/Right (Sp. Audio X) | Back/Front (Sp. Audio Y) | Elevation (Sp. Audio Z) |
---|---|---|---|
1 | 0.000 | +1.000 | 0.000 |
2 | -0.198 | +1.000 | 0.349 |
3 | +0.198 | +1.000 | 0.349 |
4 | -0.414 | +1.000 | 0.000 |
5 | +0.414 | +1.000 | 0.000 |
6 | -0.673 | +1.000 | 0.345 |
7 | +0.673 | +1.000 | 0.345 |
8 | -0.201 | +1.000 | 0.831 |
9 | +0.201 | +1.000 | 0.831 |
10 | -1.000 | +1.000 | 0.000 |
11 | +1.000 | +1.000 | 0.000 |
12 | -0.647 | +1.000 | 0.782 |
13 | +0.647 | +1.000 | 0.782 |
14 | -1.000 | +0.673 | 0.345 |
15 | +1.000 | +0.673 | 0.345 |
16 | -0.177 | +0.579 | 1.000 |
17 | +0.177 | +0.579 | 1.000 |
18 | -1.000 | +0.647 | 0.782 |
19 | +1.000 | +0.647 | 0.782 |
20 | -0.582 | +0.582 | 1.000 |
21 | +0.582 | +0.582 | 1.000 |
22 | -1.000 | +0.414 | 0.000 |
23 | +1.000 | +0.414 | 0.000 |
24 | -1.000 | +0.198 | 0.349 |
25 | +1.000 | +0.198 | 0.349 |
26 | -0.176 | +0.176 | 1.000 |
27 | +0.176 | +0.176 | 1.000 |
28 | -1.000 | +0.201 | 0.831 |
29 | +1.000 | +0.201 | 0.831 |
30 | -0.579 | +0.177 | 1.000 |
31 | +0.579 | +0.177 | 1.000 |
32 | -1.000 | 0.000 | 0.000 |
33 | +1.000 | 0.000 | 0.000 |
34 | -0.579 | -0.177 | 1.000 |
35 | +0.579 | -0.177 | 1.000 |
36 | -1.000 | -0.201 | 0.831 |
37 | +1.000 | -0.201 | 0.831 |
38 | -0.176 | -0.176 | 1.000 |
39 | +0.176 | -0.176 | 1.000 |
40 | -1.000 | -0.198 | 0.349 |
41 | +1.000 | -0.198 | 0.349 |
42 | -1.000 | -0.414 | 0.000 |
43 | +1.000 | -0.414 | 0.000 |
44 | -0.582 | -0.582 | 1.000 |
45 | +0.582 | -0.582 | 1.000 |
46 | -1.000 | -0.647 | 0.782 |
47 | +1.000 | -0.647 | 0.782 |
48 | -0.177 | -0.579 | 1.000 |
49 | +0.177 | -0.579 | 1.000 |
50 | -1.000 | -0.673 | 0.345 |
51 | +1.000 | -0.673 | 0.345 |
52 | -0.647 | -1.000 | 0.782 |
53 | +0.647 | -1.000 | 0.782 |
54 | -1.000 | -1.000 | 0.000 |
55 | +1.000 | -1.000 | 0.000 |
56 | -0.201 | -1.000 | 0.831 |
57 | +0.201 | -1.000 | 0.831 |
58 | -0.673 | -1.000 | 0.345 |
59 | +0.673 | -1.000 | 0.345 |
60 | -0.414 | -1.000 | 0.000 |
61 | +0.414 | -1.000 | 0.000 |
62 | -0.198 | -1.000 | 0.349 |
63 | +0.198 | -1.000 | 0.349 |
64 | 0.000 | -1.000 | 0.000 |
It is very easy to make a mistake entering coordinates like these. We recommend setting up a template and checking it carefully before using it for any real projects.
Spatial Audio Coordinates between -100 and +100
Object | l/r | f/r | height |
---|---|---|---|
1 | 0 | 100 | 0 |
2 | -20 | 100 | 35 |
3 | 20 | 100 | 35 |
4 | -41 | 100 | 0 |
5 | 41 | 100 | 0 |
6 | -67 | 100 | 35 |
7 | 67 | 100 | 35 |
8 | -20 | 100 | 83 |
9 | 20 | 100 | 83 |
10 | -100 | 100 | 0 |
11 | 100 | 100 | 0 |
12 | -65 | 100 | 78 |
13 | 65 | 100 | 78 |
14 | -100 | 67 | 35 |
15 | 100 | 67 | 35 |
16 | -18 | 58 | 100 |
17 | 18 | 58 | 100 |
18 | -100 | 65 | 78 |
19 | 100 | 65 | 78 |
20 | -58 | 58 | 100 |
21 | 58 | 58 | 100 |
22 | -100 | 41 | 0 |
23 | 100 | 41 | 0 |
24 | -100 | 20 | 35 |
25 | 100 | 20 | 35 |
26 | -18 | 18 | 100 |
27 | 18 | 18 | 100 |
28 | -100 | 20 | 83 |
29 | 100 | 20 | 83 |
30 | -58 | 18 | 100 |
31 | 58 | 18 | 100 |
32 | -100 | 0 | 0 |
33 | 100 | 0 | 0 |
34 | -58 | -18 | 100 |
35 | 58 | -18 | 100 |
36 | -100 | -20 | 83 |
37 | 100 | -20 | 83 |
38 | -18 | -18 | 100 |
39 | 18 | -18 | 100 |
40 | -100 | -20 | 35 |
41 | 100 | -20 | 35 |
42 | -100 | -41 | 0 |
43 | 100 | -41 | 0 |
44 | -58 | -58 | 100 |
45 | 58 | -58 | 100 |
46 | -100 | -65 | 78 |
47 | 100 | -65 | 78 |
48 | -18 | -58 | 100 |
49 | 18 | -58 | 100 |
50 | -100 | -67 | 35 |
51 | 100 | -67 | 35 |
52 | -65 | -100 | 78 |
53 | 65 | -100 | 78 |
54 | -100 | -100 | 0 |
55 | 100 | -100 | 0 |
56 | -20 | -100 | 83 |
57 | 20 | -100 | 83 |
58 | -67 | -100 | 35 |
59 | 67 | -100 | 35 |
60 | -41 | -100 | 0 |
61 | 41 | -100 | 0 |
62 | -20 | -100 | 35 |
63 | 20 | -100 | 35 |
64 | 0 | -100 | 0 |
Polar Coordinates
Object | Azimuth | Elevation |
---|---|---|
1 | 0.00 | 0.00 |
2 | 11.20 | 18.90 |
3 | -11.20 | 18.90 |
4 | 22.49 | 0.00 |
5 | -22.49 | 0.00 |
6 | 33.94 | 15.97 |
7 | -33.94 | 15.97 |
8 | 11.37 | 39.17 |
9 | -11.37 | 39.17 |
10 | 45.00 | 0.00 |
11 | -45.00 | 0.00 |
12 | 32.90 | 33.29 |
13 | -32.90 | 33.29 |
14 | 56.06 | 15.97 |
15 | -56.06 | 15.97 |
16 | 17.00 | 58.81 |
17 | -17.00 | 58.81 |
18 | 57.10 | 33.29 |
19 | -57.10 | 33.29 |
20 | 45.00 | 50.54 |
21 | -45.00 | 50.54 |
22 | 67.51 | 0.00 |
23 | -67.51 | 0.00 |
24 | 78.80 | 18.90 |
25 | -78.80 | 18.90 |
26 | 45.00 | 76.02 |
27 | -45.00 | 76.02 |
28 | 78.63 | 39.17 |
29 | -78.63 | 39.17 |
30 | 73.00 | 58.81 |
31 | -73.00 | 58.81 |
32 | 90.00 | 0.00 |
33 | -90.00 | 0.00 |
34 | 107.00 | 58.81 |
35 | -107.00 | 58.81 |
36 | 101.37 | 39.17 |
37 | -101.37 | 39.17 |
38 | 135.00 | 76.02 |
39 | -135.00 | 76.02 |
40 | 101.20 | 18.90 |
41 | -101.20 | 18.90 |
42 | 112.49 | 0.00 |
43 | -112.49 | 0.00 |
44 | 135.00 | 50.54 |
45 | -135.00 | 50.54 |
46 | 122.90 | 33.29 |
47 | -122.90 | 33.29 |
48 | 163.00 | 58.81 |
49 | -163.00 | 58.81 |
50 | 123.94 | 15.97 |
51 | -123.94 | 15.97 |
52 | 147.10 | 33.29 |
53 | -147.10 | 33.29 |
54 | 135.00 | 0.00 |
55 | -135.00 | 0.00 |
56 | 168.63 | 39.17 |
57 | -168.63 | 39.17 |
58 | 146.06 | 15.97 |
59 | -146.06 | 15.97 |
60 | 157.51 | 0.00 |
61 | -157.51 | 0.00 |
62 | 168.80 | 18.90 |
63 | -168.80 | 18.90 |
64 | 180.00 | 0.00 |
In the table above, azimuth is measured anticlockwise (left) from the front.
Practical Considerations
Lower Sounds
This dome arrangement has channels only on the horizontal or above, because objects may not be placed below the horizontal in many Spatial Audio systems, which have their origin in cinema.
Audio in the lower half of the O3A scene is typically not lost during decoding however. Instead, it is moved up to the horizontal, or made spatially ambiguous if panned more directly downwards.
For some applications, you might want to reflect the lower half of the scene into the upper half with the O3A Fold plugin from the O3A Music plugin library before decoding with these plugins.
Rendering the lower half of the scene is typically supported well in 3D audio rendering systems capable of handling Higher Order Ambisonics directly, such as Rapture3D Universal. In these cases, better imaging can generally be achieved by rendering from ambisonics directly rather than via these domes, which are intended for use with Spatial Audio systems that cannot do this.
Reverb
These Spatial Audio systems may apply additional reverberation during rendering, on top of what is already present in the mix. Different systems apply this reverberation in different ways, and may or may not allow it to be configured or disabled. It is generally a good idea to monitor for each possible playback method.
Rendering Quirks
It may be tempting to compensate for a directional inconsistencies in timbre or level produced by a particular renderer. This is not recommended in general, particularly where audio may be played back on different renderers, now or in the future.
Even on the same renderer, if head tracking is used, improvements made for one head orientation may make the mix worse in other head orientations.
Object Counts and Beds
Currently, Spatial Audio systems typically allow up to 128 channels of audio. However, delivery "profiles" will reduce the number of channels actually delivered to devices for final bed and object playback. For instance, the "MPEG-H 3D Audio Baseline" profile supports up to 24 audio objects to the device. If you have more objects in your mix than the delivery profile can handle, it is likely that the excess will be pre-rendered into a speaker bed (typically 7.1.2) or otherwise be merged together.
We don't particularly recommend use of speaker beds rather than objects for Spatial Audio delivery, not least because the rendering angles can be quite inconsistent. For instance, Front Left and Right are typically rendered on headphones at +/-45 degrees rather than the normal +/-30 degrees recommended on speakers.
The plugin is available in the O3A Spatial Audio plugin library.