Ambisonics Decode Modes
When your file contains HOA (Higher-Order Ambisonics) content, Orbit needs to translate the spherical-harmonic soundfield into actual speaker feeds so you can monitor it. There are two different ways to do that, and they give different results on purpose. This page explains what each one does, how the signal flows through Orbit, and which one to pick for what you're doing.
You'll find the switch in Settings → Spatial → Ambisonics Decode Mode.
First, the shared destination
Before the two decoders diverge, the thing they share matters: both produce the same 7.1.4 speaker bus, and everything else is derived from that bus.
This is Orbit's speaker-first contract from Playback Approach: beds, objects, and HOA all land in one shared 7.1.4 speaker bus, and the binaural / stereo / meter readings come from that bus. The only thing the decode-mode choice changes is how HOA gets into that bus.
Speaker Matched (Projection)
The simplest decoder: for each of your 11 non-LFE speakers, Orbit evaluates the spherical-harmonic basis in the direction of that speaker and builds one gain per HOA channel. The decode matrix is just a direct sampling of the HOA field at each speaker position:
$$D_{\text{speaker},\text{channel}} ;=; \frac{1}{11} \cdot Y_{\text{channel}}(\text{direction of speaker})$$
At playback time each HOA sample block is multiplied by that matrix to produce speaker samples. That's it — no intermediate grid, no crossover, no per-order weighting.
What it feels like. Each speaker gets exactly one mixing coefficient per HOA channel, set by the speaker's physical direction. That tends to give tighter, more focused imaging on a regular layout like 7.1.4, because energy doesn't get rerouted through any intermediate sources before hitting the speakers.
Trade-off. This directness is also the downside: the decoder assumes your speaker layout is reasonably regular. On irregular layouts (uneven spacing, missing speakers) it can produce uneven imaging.
Virtual Source (AllRAD)
AllRAD stands for All-Round Ambisonic Decoding (Zotter & Frank, JAES 60(10), 2012). Instead of going straight from HOA to real speakers, it inserts a regular grid of virtual sources as an intermediate step:
- A grid of virtual loudspeakers is defined on the sphere: 12 points for 1st order, 36 for 2nd, 70 for 3rd (spherical t-designs — uniform sample sets where the SH basis is orthogonal).
- For each virtual source, Orbit computes a mono signal equal to
Σ Y(direction) × HOA_channel. Loud-direction sources get large positive values; opposite-direction sources get small or negative ones. The whole set encodes the HOA soundfield as V mono signals at known directions. - Each virtual source is then panned to the real speakers using VBAP (or LBAP, depending on your Panning Mode setting) — exactly the same panner Orbit uses for objects.
- All virtual-source contributions sum into the 7.1.4 bus.
What it feels like. Because every virtual source gets panned across 2–3 real speakers, a single direction in the HOA content spreads across a wider arc of real speakers than Speaker Matched would. That makes AllRAD more forgiving of irregular speaker layouts, at the cost of some directional sharpness on a regular layout.
Why the extra layer? The intermediate grid decouples the soundfield representation from your specific speaker arrangement. Whatever layout you're on — 7.1.4, 5.1.4, a 22.2 room, a domed 7.1.6 — the virtual-source grid stays the same and only the final VBAP step changes. This is the AllRAD paper's core idea and is the decoder EBU recommends for most production work.
Why on a regular 7.1.4 it can sound less directional
This is worth naming directly: for a standard 7.1.4 layout and 1st-order content, Speaker Matched will usually read as more directional than Virtual Source. That's not a bug in either decoder — it's the mathematical consequence of the two designs:
- Speaker Matched routes HOA → speakers in one step. A panned direction lands at the speaker matching that direction with a single-coefficient emphasis.
- Virtual Source routes HOA → 12 virtual points → speakers, with VBAP spreading at the second hop. The same panned direction ends up painting a broader arc of real speakers.
First-order HOA has limited directional resolution to begin with (the spatial pattern is a cardioid), and AllRAD's intermediate grid widens that cardioid when it maps to real speakers. Higher orders (2nd, 3rd) tighten up because the virtual grid gets denser and the cardioid sharpens — but at 1st order the decoder-choice effect is clearest.
If you want tighter imaging on 7.1.4
Try Speaker Matched for content you know is being mastered for 7.1.4 specifically. If you do want Virtual Source (for layout-agnostic QC or because you're monitoring on something irregular), try setting AllRAD Weighting to Single Band — it applies Max-rE across the full spectrum, which sharpens the perceived direction compared to Dual Band.
AllRAD Weighting (Virtual Source only)
When Virtual Source is active, a second picker appears: AllRAD Weighting. It controls a post-decode compensation called Max-rE (max energy-vector) that sharpens the perceived direction of sources on the sphere. There are three options:
| Weighting | What it does | Crossover | Character |
|---|---|---|---|
| None | Pure basic AllRAD, libear-strict | – | Most diffuse. Use for reference measurement or EBU conformance |
| Single Band | Max-rE applied across the full spectrum | – | Sharpest, but can cause a mild comb in the low end. Matches SPARTA defaults |
| Dual Band (default) | Max-rE only above a 380 Hz Linkwitz-Riley crossover | 380 Hz (LR4) | Best of both — low end stays neutral, highs image tightly. Matches IEM AllRADecoder and Resonance Audio |
The Max-rE coefficients come from Zotter & Frank (2012) — a₁ = 1/√3 ≈ 0.577 for 1st order, scaled through 2nd/3rd order.
In Dual Band, each HOA channel is split with a 4th-order Linkwitz-Riley crossover (two cascaded Butterworth biquads) at 380 Hz before decoding. The low band runs through the basic decoder and the high band runs through the Max-rE decoder; both sum into the same 7.1.4 bus.
How this interacts with binaural and stereo
It doesn't, directly. Both decode modes write into the same 7.1.4 speaker bus, and every downstream output reads from there:
- 7.1.4 monitoring — the speaker bus is what you hear.
- Binaural — the 12 speaker channels run through Orbit's 1944-point HRTF grid. The binaural renderer never sees HOA directly; it only sees the decoded speaker feeds.
- Stereo fold-down — derived from the 7.1.4 bus via ITU-R BS.775-3.
- Meters — 7.1.4 / binaural / stereo all tap the same three post-decode buses.
This is the same speaker-first chain beds and objects use. Switching decode mode changes the HOA portion of the bus and nothing else.
Which should you pick?
| Situation | Recommended |
|---|---|
| QC'ing 7.1.4 content for regular studio delivery | Speaker Matched |
| QC'ing on a non-standard layout (5.1.4, 22.2, domed rigs) | Virtual Source (Dual Band) |
| EBU conformance / reference measurement against libear | Virtual Source (None) |
| Maximising perceived directional tightness on a regular layout | Speaker Matched, or Virtual Source + Single Band |
| Default when you don't know | Virtual Source (Dual Band) — decoder-agnostic defaults that work everywhere |
Both modes are stable, and the switch takes effect immediately — A/B freely while playing.
References
- ITU-R BS.2076-3 — Audio Definition Model.
- ITU-R BS.2127 — Audio Definition Model renderer for advanced sound systems (defines the basic AllRAD path used for conformance).
- ITU-R BS.775-3 — Multichannel stereophonic sound system with and without accompanying picture (the stereo fold-down coefficients).
- Zotter & Frank (2012) — "All-Round Ambisonic Panning and Decoding", JAES 60(10) pp. 807–820 — the AllRAD paper. Source of the Max-rE coefficients used in Single Band and Dual Band.
- EBU Tech 3388 — ADM renderer overview.
- libear — EBU reference ADM renderer (https://github.com/ebu/libear) — the implementation
Virtual Source + Noneis measured against.
