ICST Ambisonics Workshop: Working With Ambisonics

Working with Ambisonics

Online-Workshop · ICST / ZHdK · ambisonics.ch


Learning Objectives

After this workshop you will be able to:

  • explain the Ambisonics signal flow from recording to playback
  • distinguish A-format (PCM audio) from B-format (mathematical format)
  • set up and route a Zylia ZM-1 HOA recording in Reaper
  • position sound sources in three-dimensional space using the ICST AmbiEncoder_64
  • convert FOA/HOA material between FuMa and AmbiX formats
  • carry out a guided hands-on exercise (Encoding → Mixing → Decoding) independently
  • integrate external tools (MaxMSP, Csound/Cabbage) into an Ambisonics workflow
📋 Preparation Reaper is pre-installed on all workshop computers (v7+, incl. ICST plugins) · Bring headphones (binaural monitoring) · Download the large workshop package (Reaper folder + papers) in advance

Contents


BLOCK A

Overall Workflow

Signal FlowFormatsHOA Orders

Ambisonics is a channel-format-independent, full-sphere audio system. Every production follows the same chain — regardless of whether the target is headphones, an 8-channel ring, or a 24-channel dome.

The Ambisonics Signal Flow

Ambisonics Overall Workflow: Recording → HOA Bus → B-Format Master / Binaural / Array
Ambisonics signal flow: From recording (A-format → B-format ambiX) through the HOA bus and production to the three output formats — B-format master, binaural stereo, and array/live.
StepWhat happensTool (Workshop)
1. RecordingMicrophone array → A-format (raw capsules) or direct HOAZylia ZM-1 → Zylia App
2. A-to-B ConversionRaw capsule data → B-format (AmbiX / HOA)Zylia App, JS plugin
3. EncodingPosition mono/stereo sources in spaceICST AmbiEncoder_64
4. ProcessingEQ, reverb, panning on the HOA busReaper FX chain
5. DecodingB-format → playback formatICST AmbiDecoder
6. DeliveryRender master, choose formatReaper Render

The golden rule: Render the B-format master track — never the decoder output. The decoder is for monitoring only. One and the same B-format master works for headphones, loudspeakers, and streaming.

📖 Further reading: Ambisonics FundamentalsAmbisonics in 30 Minutes — compact overview of the system
Workflow from Recording to Delivery — in-depth step-by-step guide
Getting Started: ICST Plugins in Reaper — introduction to the plugin chain

Monitoring Setup

Before recording starts, monitoring must be in place:

  • Binaural (headphones): Load ICST AmbiDecoder with HRTF preset → direct spatial feedback without loudspeakers
  • Check decoder preset: Does the layout (channel count, speaker geometry) match the actual setup?
  • Never run binaural and loudspeakers in parallel: Only one decoder active — otherwise phase errors in the mix
  • Separate monitoring branch: Binaural monitor track on a dedicated bus, not looped into the B-format master
📖 Further reading: Binaural MonitoringBinaural Monitoring in the ICST Workflow — HRTF setup, decoder presets, monitoring practice

Formats & Normalisation

FormatChannel orderNormalisationStatus
FuMa (Furse-Malham)W, X, Y, ZMaxNOlder, legacy
AmbiX (ACN / SN3D)W, Y, Z, XSN3DCurrent standard

Rule of thumb: Always work and archive in AmbiX (ACN/SN3D). Use FuMa only for compatibility with legacy material.

HOA OrderChannelsMicrophone exampleSpatial resolution
1st Order (FOA)4Zoom H3-VR, Sennheiser AmbeoGood as stereo replacement, coarse directionality
2nd Order9Significantly sharper localisation
3rd Order16Zylia ZM-1High resolution, production reference
📖 Further reading: Formats & OrdersAmbisonics Formats Explained — FuMa, AmbiX, ACN, SN3D in detail
Which Ambisonics Order Do I Need? — practical decision guide

Delivery Formats

TargetFormatNote
Archive / MasterMultichannel WAV, AmbiX, 48 kHz / 32-bit floatUnaltered B-format master
Binaural2-channel WAVStreaming, preview, headphones
LoudspeakersN-channel WAVPerformance, installation
YouTube 360Binaural + Spatial MetadataSpatial Media Metadata Tool
📖 Further reading: Exporting B-FormatRender B-Format in REAPER — step-by-step render setup
Exporting the B-Format Master — Reaper settings for archive and delivery

BLOCK B

How to Record Ambisonics — Zylia ZM-1

Microphone SetupA-to-B ConversionReaper Session

Recording 3D Audio: The Recording Workflow

Recording 3D Audio: Microphone → A-format → A-to-B Conversion → B-format
From capsule to B-format: microphone array (A-format, raw capsules) → A-to-B conversion in the Zylia app → 16-channel B-format (AmbiX). All three stages are covered in the workshop workflow.

Workflow (Hands-on with Zylia → Main Reaper)

  1. Short Recording Session — Set up Zylia ZM-1, check levels (−18 dBFS), record 30–60 seconds → 19-channel A-format PCM
  2. A to B Converting — Zylia App: import A-format, export as 3rd Order HOA → 16-channel B-format AmbiX WAV
    A-format = PCM audio (regular audio data, raw capsules)
    B-format = Mathematical format (spherical harmonics, not directly listenable)
  3. Listening B-Format — Load in Reaper, listen binaurally via HOA bus + AmbiDecoder: does "front" actually sound in front?
  4. Upsampling & FX — EQ, reverb on HOA bus, distance automation on the encoder
  5. Mastering B-Format — Render HOA Render Bus: 16 ch, 48 kHz, 32-bit float WAV → B-format master
💡 Thunderstorm Example (Zylia Recording) A thunderstorm recording shows why HOA far surpasses stereo: thunder comes from all directions (full envelopment), rain falls from above (elevation), wind rotates (rotation of the sound field). In stereo: just a left-right smear. In Ambisonics: a complete sphere.

Microphone Specifications

  • 19-capsule array (omnidirectional)
  • Output: 19 raw channels → encoded to 3rd Order HOA (16 channels, AmbiX) by the Zylia software
  • Connection: USB-C, no external power required

Microphone Placement

The position of the microphone determines the listening perspective — this is not a technical but a compositional decision.

  • Height: approx. 1.5 m for a natural ear-level perspective; lower for a “ground level” effect, higher for an overview perspective
  • Orientation: The microphone has a preferred direction (marker). “Front” in B-format corresponds to this direction — document it so that decoding is correct
  • Distance to source: Closer = more direct sound, more spatial detail; further = more diffuse field, less localisation
  • Reflections: Hard walls, floors, and ceilings are very prominent in an HOA microphone — listen carefully to the placement location before recording
  • Wind protection: Always use a windshield outdoors (blimp or fur). Activate LF roll-off below 80 Hz

Gain Management

  • Target level: approx. −18 dBFS (check all 19 channels individually)
  • Headroom: at least 12 dB — transients in HOA microphones can peak unexpectedly
  • Monitor all raw channels separately: a single clipping channel corrupts the entire B-format
  • Set the gain structure in the Zylia app, not in Reaper after the fact

A-to-B Conversion

The Zylia ZM-1 delivers A-format (19 raw channels). The Zylia software converts these to 3rd Order HOA (16 channels, AmbiX):

  • When to convert? Immediately after recording, before importing into Reaper
  • Quality control: Test phase and channel assignment — a mono test source from the front should sound clearly in front in the binaural monitor
  • Archive raw data: Always keep the A-format (19 channels) — this allows re-conversion later with better software
📖 Further reading: A-format & B-formatRecording with an Ambisonics Microphone – A-format, B-format — conversion workflow and quality control explained

Field Recording Checklist

Before recording:

  • Acoustic survey: reflections, noise sources, wind direction
  • Decide on microphone placement and document it (height, orientation, distance)
  • Level check: all 19 channels at approx. −18 dBFS
  • Binaural monitoring active and verified
  • Metadata template prepared (location, date, take number, weather)

After recording:

  • A-to-B conversion in Zylia app
  • Load HOA file (16 ch AmbiX) in Reaper and verify binaurally
  • Archive raw channels (A-format)

Reaper Session (pre-configured)

TrackChannelsFunction
NotesNotes track (muted)
Zylia ZM-116Armed for recording · VU: multichannel peaks
HOA Bus16AUXRECV from Zylia · no direct out
ICST AmbiDecoder1816 ch in + 2 aux · decoder plugin
Binaural Monitor2Headphone monitoring
HOA Render Bus16Muted · for offline render
📥 Download: Pre-configured Reaper Session All tracks, routing, and decoder preset are pre-configured — just open and start.
zylia_recording_example.RPP
📖 Further reading: Room Recording & AcousticsCapturing Space and Synthetically Creating Space — room acoustics and recording technique for HOA productions

Common Recording Errors and Solutions

ProblemCauseSolution
Sound seems “back to front”Microphone orientation not documentedTest and note front/back on location
Comb filtering / unstable directionFaulty A-to-B conversionCheck for spectral artefacts, repeat conversion
Clipping on individual channelsOverloading of individual capsulesMonitor all 19 raw channels separately, reduce gain
Wind noise in low frequenciesMissing wind protectionLF roll-off below 80 Hz, use blimp
No elevationFOA loaded instead of HOACheck channel count: FOA = 4 ch, HOA 3rd = 16 ch
B-format import in Reaper incorrectWrong ordering (FuMa instead of AmbiX)Use FuMa → AmbiX converter (JSFX, Block C)

Composers Workflow — The Three Stages

The three stages: Encoder → Transformer → Decoder (Author / Image / Monitor)
The paradigmatic workflow of the Ambisonics Toolkit: Author → Image → Monitor. Every Ambisonics production passes through the same three stages — regardless of tool and output format.

Every Ambisonics production — whether field recording, synthesiser, or live performance — passes through three stages:

StageQuestionIn practice
EncodingWhere is the sound in 3D space?Azimuth, elevation, distance — via ICST AmbiEncoder_64 or Lua script
ProcessingHow does the sound move and how does it interact with the space?Rotation, movement automation, reverb on HOA bus, distance simulation
DecodingHow do I play this back on my audio system?ICST AmbiDecoder: binaural (HRTF), loudspeaker ring, MultiDecoder
Signal flow (communication): External applications, bridges, DAW, external hardware, outputs
Complete signal flow of an Ambisonics production environment: external tools (AbletonLive, Csound, SuperCollider, Max 9) → bridges → DAW (sound design, spatialisation, mix & mastering) → B-format → decoding. OSC/MIDI connects all layers.

BLOCK C

Reaper Workflow: Encoding · Processing · Decoding

ICST AmbiEncoder_64Lua AutomationDecoding

Encoding with ICST AmbiEncoder_64

Plugin: ICST AmbiEncoder_64 (VST3) — pre-installed on all workshop computers.

ParameterIndexNormalisedMeaning
Azimuth110–1 → −180° to +180°Horizontal position
Elevation120–1 → −90° to +90° (0.5 = horizon)Vertical position
Distance130 = near · 1 = farDepth
📥 Lua script: Encoding exampleicst_ambi_encoding_voice.lua — sets track, loads AmbiEncoder, positions source at azimuth −45°, elevation +20°
📖 Further reading: ICST AmbiEncoderICST Encoders — all parameters, modes, and encoder variants at a glance
ICST AmbiEncoder – Spiral Walk Script — example of complex Lua automation
ICST AmbiEncoder – OSC Syntax — control the encoder via OSC (Touchdesigner, Max, etc.)

Automation: Moving Sound Sources

Physik-basierte Trajektorie: atan2 für Azimut, √(x²+y²) für Distanz.

📥 Lua scripts: Train pass-byicst_ambi_zug_langsam.lua — slow train, 28 seconds
icst_ambi_zug_schnell.lua — express train, 4 seconds
icst_ambi_zug_vergleich.lua — pause + slow + pause + fast in sequence

Processing

Distance

In the ICST AmbiEncoder, Param 13 (Distance) simulates depth in space. The plugin attenuates level and high-frequency content with increasing distance — similar to air absorption in real space:

  • Near sources (distance ~0): present, direct, high HF content
  • Distant sources (distance ~1): quieter, duller, more diffuse-field content
  • Combined with reverb: The greater the distance, the higher the wet amount in the room plugin on the HOA bus
📥 Reaper example: Distance automationicst_stereo_pan_distanz.lua

Room / Reverb

The reverb sits on the HOA bus track — not on the source track. Only then does the reverb remain anchored in Ambisonics space and get decoded correctly with the B-format.

  • ReaVerb or FX reverb on the HOA bus (after all encoders, before the decoder)
  • Dry/wet ratio: start sparingly (~10–20% wet), as HOA reverb sounds very prominent
  • Room size and pre-delay determine the size of the space
  • Separate reverb sends per source allow different room distances
📥 Reaper example: Room curvesicst_stereo_pan_raumkurven.lua

Example: Helicopter Flyover

PhaseAzimuthElevationDistance
Approach (front)~0°15° → 70°1.0 → 0.3
Overhead0° → 180°70° → 85° → 70°0.3 → min → 0.3
Departure (rear)~180°70° → 15°0.3 → 1.0

The script calculates position, azimuth, and elevation directly from 3D coordinates (atan2, Pythagoras) — no manual angle estimation.

📖 Further reading: Spatial ParametersSpatial Parameters as Compositional Material — creative use of azimuth, elevation, and distance
📥 Lua script: Helicopter flyovericst_ambi_kopter.lua — 18 s flyover, 360 points, configurable height and lateral offset

Decoding

  • Binaural: ICST AmbiDecoder with HRTF file → 2-channel headphones
  • Loudspeakers: Decoder with .spk configuration file
  • Screensets: Ctrl+Alt+1 (Recording) · Ctrl+Alt+2 (Mixing) · Ctrl+Alt+3 (Decoding)
📖 Further reading: Decoding & DeliveryICST AmbiDecoder – Multi-Decoder Mode — running multiple output formats in parallel
Binaural Rendering and Headphone Delivery — binaural render for streaming and headphones

FuMa → AmbiX Conversion (FOA)

For legacy material in FuMa format (e.g. SoundField, older productions):

FuMa InputAmbiX Output (ACN)Gain correction
Ch1 = WACN 0 = W× √2 = +3.01 dB
Ch2 = XACN 3 = X× 1/√3 = −4.77 dB
Ch3 = YACN 1 = Y× 1/√3 = −4.77 dB
Ch4 = ZACN 2 = Z× 1/√3 = −4.77 dB
📥 JSFX plugin + Lua installerFuMa_to_AmbiX_FOA.jsfx — JSFX plugin
icst_fuma_to_ambix_foa.lua — Lua installer
In Reaper: Actions → Load new Script → icst_fuma_to_ambix_foa.lua

BLOCK D

External to Reaper

MaxMSPCsoundMax for Live

Reaper is not the only environment for Ambisonics. These tools are used by composers and researchers — each with a different approach and different strengths.

Workflow with MaxMSP: ICST Ambisonics Externals (ambicontrol, ambiencode, ambidecode). Real-time spatialisation, OSC control of the ICST AmbiEncoder in Reaper. Strength: generative and algorithmic spatialisation, live electronics.

Workflow with Csound (Cabbage.app): Csound opcodes bformenc1 / bformdec2. Cabbage wraps Csound as a VST3 plugin. Strength: precise mathematical control of the sound field, additive synthesis, granular synthesis.

Workflow with Max for Live: MaxMSP integrated in Ableton Live. Combines Ableton’s production workflow with Ambisonics spatialisation. Strength: live performance with Ambisonics, studio production.

📌 Note Blocks D, E, and F go beyond the 4-hour workshop scope. They are introduced here as an overview and explored in depth in a follow-up workshop.

BLOCK E

Csound / Cabbage

Additive SynthesisSpatialisationVST3

Csound is a programmable audio synthesis language. Cabbage wraps Csound instruments as VST3 plugins and makes them usable in Reaper.

Cabbage → Reaper (DAW)

Cabbage (Csound) → Reaper: Cabbage.app → BlackHole_64 → Reaper.app, with OSC return channel
Integration of Cabbage/Csound into Reaper: Cabbage.app sends audio to Reaper via BlackHole_64 (virtual audio interface). OSC enables bidirectional communication — Reaper can control spatialisation parameters, Csound can receive encoder positions.

Key Csound opcodes for Ambisonics:

  • bformenc1 — encodes a mono signal into B-format (1st–3rd order). Input: audio, azimuth, elevation. Output: HOA channels.
  • bformdec2 — decodes B-format to a loudspeaker array.

Example: Additive Synth & Random Spatialisation (Cabbage)

A Cabbage example demonstrates: an additive synthesiser generates partials (sine waves) in real time. Each partial is independently spatialised with bformenc1 and a randomised azimuth/elevation. The position drifts randomly — the result is a moving cloud of sound in 3D space, then decoded binaurally.


BLOCK F

MaxMSP — ICST Ambisonics Externals

ACT-ToolOSCReal-time

MaxMSP with the ICST Ambisonics Externals provides a complete real-time Ambisonics environment. Unlike a DAW, Max allows algorithmic and generative control of spatialisation — positions can be driven by data, gestures, sensors, or other audio signals.

MaxMSP → Reaper (DAW)

MaxMSP → Reaper: Max9.app ↔ BlackHole_64 ↔ Reaper.app, with OSC and MIDI
MaxMSP and Reaper communicate via BlackHole_64 (audio), OSC (spatialisation parameters), and MIDI. Max9 can control the ICST AmbiEncoder in Reaper in real time — azimuth, elevation, and distance as live automation.

ICST Ambisonics Externals:

  • ambiencode~ — encodes mono audio into B-format. Message input for azimuth, elevation, distance.
  • ambidecode~ — decodes B-format to loudspeakers or binaural.
  • ambicontrol — GUI panel for manual spatialisation control.

ACT-Tool Example:

The ACT-Tool (Ambisonics Composition Tool) is a MaxMSP patch developed at ICST:

  • 3D visual interface for placing and animating sound sources
  • Sources can be moved manually (mouse/trackpad) or algorithmically (LFOs, envelopes, data streams)
  • OSC output: sends azimuth, elevation, and distance to any Ambisonics encoder — including the ICST AmbiEncoder in Reaper
  • The ACT-Tool can be used as a “spatial score”: define movement visually, record OSC output as automation in Reaper

Hands-on Exercise

Guided exercise with the prepared sessions:

  1. Open the Zylia session, verify microphone routing and decoder preset
  2. Route a mono test source to the HOA bus, listen binaurally
  3. Run the encoding script: position source at azimuth −45°, elevation +20°
  4. Start the train pass-by automation and follow the trajectory binaurally
  5. Encode your own source and move it in space (automation or manually)
  6. Render and verify the B-format master (16 ch, not 2 ch!)
📖 Further reading: Compositional PracticeSpatial Counterpoint — spatial contrary motion as a compositional technique
Reaper Ambisonics Setup in 20 Minutes — quick setup for your own projects after the workshop

BLOCK G

Composer Discussion

TopicsQ&AOutlook

A guided discussion to consolidate the workshop experience. Not a lecture — participants share their own observations and develop ideas together.

Topics:

  • Space as compositional material: Can space itself be the instrument? What happens when the space moves and the source stays still?
  • The composer’s perspective: How does working in Ambisonics change compositional decisions compared to stereo?
  • Elevation and expressivity: When does height feel natural, when artificial? What does the vertical axis enable that stereo never could?
  • Distance and reverb: How do distance and reverb interact? When does a source sound “inside the space” rather than “outside”?
  • Outlook — follow-up workshop: MaxMSP + Csound in depth (Blocks D, E, F).

Preparation & Downloads

  • Reaper is pre-installed on all workshop computers (v7+, incl. ICST plugins)
  • Bring headphones (binaural monitoring)
  • Download the pre-configured Reaper session in advance