Version

menu_open
Wwise SDK 2023.1.9
Spatial Audio

Introduction

The Spatial Audio module exposes a number of services related to spatial audio, notably to do the following:

  • compute image sources for Reflect for a given geometry
  • model sound propagation from Rooms and Portals by controlling 3D busses
  • model sound propagation across geometry
  • access the raw API of Reflect

Internally, Spatial Audio does the following:

  • controls 3D busses by managing game objects and their properties (positions, auxiliary sends, obstruction, and occlusion)
  • controls (multi-) positions and aux sends of Spatial Audio game objects
  • runs geometric sound reflection, diffraction and transmission algorithms
  • packages data for Reflect

It is an SDK component that works with the Wwise sound engine, as shown in the following flowchart.

SpatialAudioFlow

Spatial Audio Services

Spatial Audio exposes three categories of service, described in separate sections:

Rooms and Portals are a simple, high-level geometry abstraction used to model propagation of sound emitters located in other rooms. Geometry uses triangles to compute image sources to simulate dynamic early reflections with Reflect, or to compute geometric diffraction. Spatial Audio also exposes helper functions to access the raw Reflect API directly (Using Raw Image Sources).

API Setup

The Spatial Audio functions and definitions can be found in SDK/include/AK/SpatialAudio/Common/. Its main functions are exposed in the AK::SpatialAudio namespace.

Initialization

Initialize Spatial Audio with AK::SpatialAudio::Init().

When using Spatial Audio, a single game object must be explicitly assigned as the Spatial Audio Listener. To do so, call AK::SpatialAudio::RegisterListener(), and pass the ID of the desired listener. The game object must also be registered and assigned as a listener in the sound engine. For more information on Listeners in the Sound Engine, refer to Integrating Listeners.

Warning: Spatial Audio only supports one top-level listener.

Spatial Audio Emitters

A game object becomes a Spatial Audio Emitter when it plays a sound that has one or more settings related to Spatial Audio enabled in Wwise Authoring:

  • To enable room reverberation, enable game-defined auxiliary sends on the sound's General Settings tab.
  • To enable reflection processing, assign an early reflection bus to the sound in one of the following ways:
  • To enable diffraction and transmission processing, select Enable Diffraction and Transmission on the sound's Positioning tab.

The position of a game object, either an emitter or a listener, is passed to the sound engine with AK::SoundEngine::SetPosition. Spatial Audio retrieves the position information directly from the sound engine to determine the source position for reflection and diffraction processing.

Termination

Spatial Audio is terminated automatically when the Wwise sound engine is terminated.

See also

Was this page helpful?

Need Support?

Questions? Problems? Need more info? Contact us, and we can help!

Visit our Support page

Tell us about your project. We're here to help.

Register your project and we'll help you get started with no strings attached!

Get started with Wwise