Surround Output Setup
Amplitude can render directly to quad, 5.1 or 7.1 speaker layouts. This guide walks through picking a layout, using a pipeline that actually decodes to it, and giving your multichannel sources the right width.
Step 1: Pick an Output Layout¶
Set output.channels in your engine configuration:
Default picks the largest of Mono, Stereo, Quad, 5.1 and 7.1 that fits the audio device's native layout. A layout the device refuses to open falls back to Stereo, with the reason logged, so it's always worth checking what actually got applied:
const ChannelLayout& layout = amEngine->GetOutputLayout();
amLogInfo("Rendering to %d channels", layout.GetChannelCount());
Step 2: Use a Pipeline That Decodes to Speakers¶
Picking a layout only changes how many channels the mixer renders — the pipeline still decides how the Ambisonic bed gets there. The default pipeline uses AmbisonicBinauralDecoder, which decodes to binaural stereo for headphones; on a non-stereo output it only fills the left and right channels and warns once.
For a speaker layout, use a pipeline built on AmbisonicSpeakerDecoder instead, which decodes with an AllRAD (ITU-R BS.2127 style) matrix built for the pipeline's actual output layout. The surround pipeline in the sample project is the default pipeline with its binaural decoder nodes swapped for speaker decoder ones — point your mixer.pipeline at it, or a pipeline derived from it:
SpeakerPanningNode and MixerNode already adapt to whatever layout the pipeline renders to — they don't need to change between the default and surround pipelines.
Step 3: Set the Width of Multichannel Sources¶
A multichannel sound asset (a stereo or 5.1 ambience bed, for instance) keeps its own channels through the pipeline instead of being folded down: each channel is placed as its own virtual emitter around the sound's direction. Use spread to control how wide that image is:
Omitting spread uses the asset's native width (60° for stereo, 220° for 5.1); 0 collapses it to a mono point source. attenuation.spread_curve can shrink that width as the listener gets farther away.
Next Steps¶
- Review the Pipeline and Built-in Pipeline Nodes references for the full node graph.
- Read Ambisonics for how the AllRAD speaker decoder fits into the wider Ambisonic pipeline.
- See Ambisonic Setup if you're targeting headphones instead of speakers.