You have eight speakers, a gallery, and sound that needs to be somewhere other than “everywhere”. The internet will tell you to use ambisonics. Sometimes the internet is wrong, and the reason is worth understanding before you commit a month to it.
This is a practical guide to both routes, and to the question that decides between them.
The question that decides it
Where will the audience be standing?
Ambisonics reconstructs a sound field correctly at a point — the centre of the array. Move away from that point and the spatial image degrades: sources collapse towards the nearest speaker, image sharpness falls off, and in a large array the effect becomes obvious well before you reach the walls. Higher orders tighten the sweet spot’s accuracy; they do not make it much bigger.
So:
- One listening position, or a small cluster — a chair, a headrest, a marked spot, a seated audience: ambisonics works properly.
- People walking freely through a large space — most gallery installations: discrete multichannel is usually better.
This is not a skill issue and it is not resolved by doing the ambisonics well. It is geometry. A great many installations have been built on a brilliant ambisonic mix that nobody except the artist, standing in the middle during setup, ever heard.
Route A: discrete multichannel
Each speaker is a channel. You decide what comes out of it. That is the whole model.
It sounds primitive next to a reconstructed sound field, and for a walk-through space it has decisive advantages:
- It degrades gracefully. There is no sweet spot to leave, because there was never a reconstruction to break. A visitor three metres from speaker four hears speaker four, loudly, which is what you designed.
- It is debuggable. Channel six is silent: either the file, the routing or the amp. With a decoder in the chain there is a fourth possibility and it is the hardest to see.
- It composes well for architecture. Sound emerging from a specific corner, stairwell or doorway is often the actual artistic intent, and that is a channel assignment, not a spatialisation problem.
The craft is in movement: amplitude panning between adjacent speakers, with equal-power rather than linear crossfades so a source travelling between two speakers does not dip in level halfway. Add a small delay and a touch of filtering as a source recedes and the trajectory reads as distance rather than just as level.
Tools: any DAW with a multichannel output bus — Reaper is the usual choice, because its track channel counts and routing matrix are arbitrary and it costs very little. Max/MSP or Pure Data if the piece is interactive and the panning responds to sensors. For playback, a multichannel interface and a machine that boots into your patch without a login.
Route B: ambisonics
Ambisonics splits the problem in two: encode sources into a speaker-independent sound-field representation, then decode that representation to whatever speakers you actually have.
That separation is the real selling point, and it is a big one for touring work. The composition does not know how many speakers exist. Build the piece once, decode it differently in each venue.
Channel counts
Order N requires (N+1)² channels:
| Order | Channels |
|---|---|
| 1st | 4 |
| 2nd | 9 |
| 3rd | 16 |
| 5th | 36 |
| 7th | 64 |
First order (four channels — the classic B-format) is spatially vague; sources are directional but blurry. Third order (16) is where localisation becomes convincing for most material. Note the growth: these are channels flowing through every plug-in in the chain, so CPU and routing complexity scale with the square of the order.
A rule of thumb worth respecting: do not run an order your speaker count cannot support. Roughly, you want at least as many speakers as channels for the decode to be well-conditioned. Third-order material on eight speakers is spending CPU to encode detail the decode then discards.
Get the conventions right, once
Two things must match across your whole signal chain or everything will be subtly, infuriatingly wrong — usually mirrored or rotated, rather than obviously broken:
- Channel ordering — ACN (also written ACN/AmbiX) is the modern standard. FuMa is the legacy ordering and still turns up in older files and plug-ins.
- Normalisation — SN3D is the modern pairing with ACN. Others exist.
“ambiX” means ACN ordering plus SN3D normalisation, and it is what to use unless something forces otherwise. If a spatial scene sounds right but reversed, check these before you check anything else.
The decoder is the actual work
Encoding is easy — a panner plug-in per source, set an azimuth and elevation. The decode is where installation work gets real, because your speakers are not in a textbook arrangement. They are where the room allowed: four on stands, two on the ceiling, one behind a pillar, unequal distances from the centre.
A regular-array decoder preset will not handle that. You need a decoder built for your measured positions.
The IEM Plug-in Suite — free and open source, from the Institute of Electronic Music and Acoustics in Graz, currently v1.16.0 and supporting up to 7th order — includes AllRADecoder for exactly this. You enter your actual loudspeaker positions, and it generates a decoder for that irregular array.
Two practical notes. Measure the positions properly, in the room, with a tape measure and from one agreed origin; estimating from the floor plan is how you get a decoder that is confidently wrong. And the suite has introduced breaking changes across recent versions, including v1.16.0 — if you are returning to an older project, read the breaking-changes notes before you reopen it and assume nothing.
A signal chain that works
- Source tracks — mono, one per sound you want to place
- Encoder per source (IEM
StereoEncoderorMultiEncoder), setting azimuth and elevation - Sum all encoders into one ambisonic bus with the right channel count
- Optional: scene-level processing — rotation, zoom, reverb — on the bus
- Decoder (
AllRADecoder, configured for your measured array) - Per-speaker gain, delay and EQ for distance and room compensation
- Out to the interface
Step 6 is routinely skipped and should not be. Speakers at unequal distances arrive at different times; without delay compensation the decode is being handed a geometry that does not match the one it solved for. mcfx, a free multichannel plug-in suite, is the usual tool for the per-channel delay and gain stage.
Test it like an installation, not like a mix
The failure mode is specific: it sounds superb at the desk and wrong in the space. So:
- Walk the room while it plays. Stand where visitors will actually stand — by the entrance, in the corner, against the wall. Not in the middle.
- Listen for the collapse. Find where the spatial image stops working and decide whether that region matters. Sometimes you can reposition a speaker; sometimes you reconsider the whole approach.
- Test cold. Power everything down, leave it, boot it as the gallery will. Channel order after a reboot is a classic failure — interfaces do not always enumerate consistently, and a swapped pair is invisible until something moves.
- Document the patch. Tape a channel map to the rack. You will not be there the day it breaks, and the person who is will be a gallery technician with a phone and your name on it.
The honest recommendation
Start with discrete. Most installation ideas — sound from a particular place, sound that moves between places, several simultaneous sonic locations — are fully expressible in discrete multichannel, and the entire system is comprehensible end to end.
Move to ambisonics when you have a reason you can state: the piece is seated, or it tours to unknown rigs, or the work genuinely depends on an enveloping field rather than on located sources. All three are real reasons. “It is the more advanced technique” is not one.
Sources
- IEM Plug-in Suite — free and open-source ambisonic plug-ins up to 7th order
- mcfx — multichannel audio plug-in suite (convolver, delay, filter, gain/delay, meter)
- Reaper
- Max/MSP — Cycling ‘74