ICST Decoder
Level: Intermediate | Audience: Technician, composer, student, studio user.
Use this page when you want reliable loudspeaker playback from the B-format master and need a decoder that matches a real speaker array.
When to use ICST Decoder
Use the ICST Decoder when:
- you need playback on a defined loudspeaker array
- you want to load or build speaker presets for a room
- you need control over Ambisonics order, weighting, delay, and filtering
- you want reproducible speaker-based monitoring in REAPER
Use a separate binaural decoder when the goal is headphone monitoring only.
What the decoder does
Decoding is the stage between the Ambisonics B-format field and physical loudspeaker reproduction. Geometry, delay, weighting, filtering, and order all influence the resulting spatial image.
The ICST Decoder was developed for flexible loudspeaker setups in studio and live contexts. In addition to standard arrays such as Quadro, Octagon, or 7.1.4, it can also handle asymmetric or individually measured speaker layouts.
Plugin formats
The ICST Decoder is available as:
VST3AU (Component)LV2
LV2 is experimental and should not be treated as the main production path.
All examples on this page assume REAPER, which supports up to 128 audio channels per track.
Overview

Main areas of the interface
- Radar for the horizontal speaker view
- Vertical radar view
- Speaker parameters
- channel index
- speaker name
- Cartesian and polar coordinates
Double-click parameter fields to enter values directly.
Settings and help
- Gear icon -> speaker settings window
- Question mark -> help window
Speaker Parameter Editor:

Keyboard shortcuts
| Action | Shortcut |
|---|---|
| Mute selected source or speaker | Ctrl + Shift + M |
| Solo selected source or speaker | Ctrl + Shift + S |
Recommended REAPER structure

Create three 64-channel tracks:
- B-format source track
- Ambisonics bus / Bformat Master
- Decoder track

This separation keeps the session transparent and makes later troubleshooting much easier.
The decoder is not just a speaker router. It projects a B-format sound field onto a real loudspeaker array. This is why speaker geometry, Ambisonics order, weighting, delay, and filtering all affect the perceived image.
If you want the conceptual background, see: Why the decoder sounds the way it does – Methodological context
Decoder logic in three steps
You can think of decoder work in three stages:
- Geometry
Loudspeaker coordinates define where the system places speakers in space. - Timing
Delay compensation defines when signals arrive at the listening position. - Voicing
Weighting, filtering, and related settings shape how clearly or how coloured the result is perceived.
That order matters. First make geometry reliable, then stabilise timing, then refine the sound.
Decoder series:
Basic setup
- Insert the ICST AmbiDecoder on the decoder track.
- Open the speaker settings.
- Load a preset or define your own loudspeaker layout.
- Set the Ambisonics order and channel weighting.
- Scale room dimensions if needed.
- Run a speaker test before rehearsal, recording, or export.

Choosing a weighting scheme
Weighting changes the trade-off between spatial focus and stability.
- Max-rE: usually the best starting point for clear localization and focused images
- In-Phase: often more stable on irregular arrays or difficult listening positions
- Basic: useful as a neutral reference when comparing behaviours
If you are unsure, start with Max-rE, then compare with In-Phase on the real array.
Per-speaker control
You can edit speaker-specific parameters and save them as presets.

Optional filter processing is available per speaker:

Audio test function

The integrated test section includes:
- pink noise generator
- individual speaker tests
- sequential speaker test
- mute and solo shortcuts
This is the fastest way to verify whether the physical system matches the preset and output routing.
Quick session check
Before rehearsal or recording, verify:
- level is visible at the decoder input
- the speaker order matches the room
- the correct preset is loaded
- the decoder order matches the B-format source
- loudspeaker and binaural monitoring are not accidentally running in parallel
Save presets with a stable naming scheme such as Room_Array_Order_Date.
Common mistakes
- sending the wrong track into the decoder
- loading a speaker preset that does not match the real hardware mapping
- forgetting to verify order and weighting against the source material
- treating the decoder as the render target instead of the Bformat Master
- running loudspeaker and binaural monitoring in parallel unintentionally
Presets

Speaker presets can be saved and reloaded at any time, which is essential for reproducible room setups.
Next step
If your array uses multiple elevation layers or different speaker subsets, continue with:
Related pages:
Go deeper
These articles extend the concepts on this page with practical examples and theoretical background: