Version

Submixing Ambisonics

Source positioning in ambisonics derives from game object and listener positions at the moment of mixing, as is the case with any other channel configuration. Consequently, ambisonic-set sound objects can be submixed with other configurations; however, you may lose spatial information if you do so. For example, if your submix is 7.1 then you will have lost all height information when it is mixed into the ambisonics Audio Bus. Likewise, with a 7.1.4 submix, objects originally located below the listener's ears will appear to be at ear level. Therefore, it is recommended to use ambisonics for submixes as well. You may use lower orders if spatial precision is less important.

Routing Behavior

Wwise automatically converts audio to and from ambisonics according to routing of different configurations. The resulting output depends on the different channel configurations used and on the Spatialization Mode. The following table provides general information on the routing behavior according to these factors.

Routing

Behavior Without 3D Spatialization (Direct Speaker Assignment)

Behavior With 3D Spatialization

Standard configuration to ambisonics

The signal is encoded to ambisonics.

Mono sources are encoded directly to the W (omni) channel.

For multichannel sources, each channel is considered like a mono source with an incident angle based on the channel. For example, a stereo source will have its left channel encoded as a mono source located at 45 degrees to the left, and its right channel encoded as a mono source located at 45 degrees to the right. Here is an exhaustive list of input channel angles in degrees (positive clockwise):

  • L: -45°

  • R: 45°

  • C: 0°

  • SL: -90°

  • SR: 90°

  • BL: -135°

  • BR: 135°

  • Height channels have elevation +45 degrees.

Encoding a source with a given angle of incidence is straightforward.

The signal is encoded to ambisonics with an incident angle based on the game object position relative to the listener position and orientation.

Multichannel files, spread, and focus are handled exactly as they are with standard configurations: virtual sources representing various input channels are laid out around the listener based on the game object, listener, focus, and spread, and then are encoded accordingly. Refer to Defining the Attenuation curves for Various Object Properties and 3D Positioning Illustrated for more details about spread and focus.

Ambisonics to ambisonics

Direct speaker assignment occurs. If the input has a higher order, the extra channels are dropped. If the input has a lower order, the extra channels of the output are left silent.

[Note] Note

The Speaker Panning mode Balance-Fade is always ignored with ambisonics.

3D spatialization of an ambisonic source acts like normal multichannel 3D spatialization. With a spread of 0, the ambisonic input is collapsed into a mono sound, located at the position of the emitter game object. With a spread of 100, and Spatialization Mode set to Position + Orientation, the ambisonic input is rotated with respect to the relative orientations of the game object and listener. However it is not rotated if Spatialization Mode set to Position Only. Refer to 3D Positioning Illustrated for more details about 3D spatialization.

When input and output orders differ, rotation is computed on the smaller order and higher orders are silenced.

Ambisonics to standard configuration

The ambisonics signal is decoded to the output configuration using speaker positions specified by the game. Refer to SetSpeakerAngles() (in AK::SoundEngine) for information on how to set speaker positions.

The ambisonic bed is rotated and contracted like it would be if the output configuration was ambisonics (see above), but is then decoded to the output standard configuration.


[Caution] Caution

Encoding mono sources with Direct Speaker Assignment to the W (omni) channel, instead of treating them as sources oriented directly in front, creates an abnormal playback. A mono source routed to an ambisonic bus that is routed to a bus with standard configuration will result in the mono source playing back in all the output channels. This differs from typical behavior in Wwise where mono sources are sent only to the C or L and R channels.