Version

menu_open
Warning: you were redirected to the latest documentation corresponding to your major release ( 2022.1.16.8522 ). Should you wish to access your specific version's documentation, please download the offline documentation from the Audiokinetic Launcher and check the Offline Documentation option in Wwise Authoring.
Wwise SDK 2022.1.16
Propagation Paths in the Rooms and Portals Signal Model

The following sections explain how Spatial Audio affects signal flow in the voice and bus graph, and how it does so in relation to the sound propagation model.

It helps to understand how Spatial Audio controls the voice and bus graph, and how it does so in relation to the sound propagation model. This sections explains the signal flow in the light of the sound propagation model.

Paths and Connections

At runtime, voices and busses are connected to other busses, as can be seen in the Voice Graph or the Voice Inspector views of the Wwise Profiler. The "wires" between these Wwise Objects are referred to as Connections. An emitter-listener pair is created whenever a voice or bus associated to a game object (an emitter or a room) is connected to a different game object (another room, or the top-level listener). Emitter-listener pairs, which we will refer to as paths for the rest of this discussion, are used to compute attenuation curves, amongst other things. There can be zero, one, or many paths within one connection. For example, when the game sets multiple positions to a game object using AK::SoundEngine::SetMultiplePositions, multiple paths are created. Spatial Audio uses paths extensively. In the following discussion, we will examine the paths within each connection in the simple scenario where an emitter is located in a room, adjacent to that of the listener, as illustrated by the signal graph below.

Emitter-Listener (Direct) Connection

The connection between the Emitter and Listener carries the dry (unreverberated) signal between the emitter and the listener. Spatial Audio creates a first path between the position of the emitter and the position of the listener to represent the sound wave that travels directly from the emitter to the listener. Its length is thus the distance between the two, and the emitter's attenuation curves are evaluated based on that distance. Also, when the emitter and listener are in different rooms, unless a portal gives them direct line of sight, an additional occlusion factor is added to this path: it is the maximum of both rooms' transmission loss. We call this path the direct path, or the transmission path, depending on whether it has a zero or non-zero transmission loss.

When a portal is open between both rooms, another sound wave can reach the listener by means of diffraction. This is the diffraction path. It bends around the edge of the portal, and its total length is thus longer than that of the transmission path. It does not have transmission loss, but instead it has diffraction, proportional to the angle by which it bends. There are as many diffraction paths as there are open portals between two rooms.

The following image of the Voice Inspector shows three paths on the Direct Connection: one for transmission and two for diffraction through two open portals.

The following table describes the paths of the Direct Connection.

Path Type (Number)Characteristics
Transmission/Line-of-sight (1)
  • Distance: Straight line from emitter to listener
  • Transmission Loss: Maximum of Room's Transmission Loss and transmission loss of occluding geometry
  • Spread: Emitter's (from the sound's Attenuation, or from the game object radius - see Game Object Spread)
Diffraction (N)
  • Distance: Diffraction path's length
  • Diffraction: Sum of Portal Diffraction and diffraction on geometry edges
  • Spread: Emitter's (from the sound's Attenuation, or from the game object radius - see Game Object Spread), further clamped by the portal's aperture
Note: No delay is applied to the diffraction paths, even though the wavefronts taking those paths travel a longer distance and should thus arrive at the listener later than those taking the transmission path.

All paths are contained within the same connection. They can be viewed as parallel sound propagation paths. Indeed, the signal of Markers_Test that is mixed into Master Audio Bus is panned and attenuated independently for each path. However, it is filtered by a single filter unit, whose cut-off frequency is based on the transmission-driven and diffraction-driven filter values of the various paths, and their respective prominence.

Note: Technically, the existence of multiple paths in parallel should not violate the principle of energy conservation. Spatial Audio does not attempt to normalize the paths' volume in order to respect this principle. However, it utilizes the Multi-Direction panning method of the sound engine, which achieves a similar result in terms of volume normalization.

Emitter-Room Connection

Emitter-Room connection
Room-Listener connection

The auxiliary connection of the emitter towards the Room bus represents the energy injected by the source that reverberates inside the room and produces a diffuse field.

The path associated with this connection has zero distance, and no transmission loss or diffraction. This means that the model assumes that the distance attenuation due to the average distance traveled from sources within that room to its walls, and then all the further distances traveled from wall to wall, are entirely conveyed by the impulse response of the reverb Effect on the room's bus. It also assumes that the geometry inside the room does not significantly obstruct the sound from the walls.

Room-Listener Connection

The connection between the room's bus and the listener represents the room's diffuse energy, simulated by the reverb Effect, propagating to the listener. It reaches the listener through the room's walls, and via its portals. Similar to the Direct Connection, this connection embeds a single transmission path and one diffraction path per portal that is visible to the listener. The transmission path is attenuated by the room's transmission loss, and its Spread is computed from the room's estimated extent (see Setting up Room Geometry). Diffraction paths assume that the diffuse energy exits the room on trajectories perpendicular to the portals' opening, so diffraction angles are computed from portals' normal vectors. Diffraction paths' Spread is computed based on the listener's position relative to the portals' extents.

Note: The model does not take into account further obstruction due to geometry outside the room. The effect of this geometry is assumed to be negligible.

The length of these paths, which determines their distance attenuation, is discussed in the next section.

Distance-Based Attenuation of the Wet Signal

The length of the paths introduced in the previous section, which represent the propagation of a room's diffuse energy to the listener, cannot be defined exactly. The model assumes that the attenuation of sound due to the distance traveled towards the walls and then from wall to wall is completely deferred to the reverb Effect itself. Thus, a reasonable approximation of a path's origin would be the middle of the room. However, a more satisfying result is obtained if the distance attenuation of the room's diffuse energy depends on whether the source that excited it is located closer or farther from the listener, especially if the room is large.

Furthermore, contrary to real-life physics, sounds in Wwise attenuate over distance using custom curves. In order to accurately compute the distance attenuation of the room to the listener, the room should use the sound emitter's attenuation curves. This poses a problem, because there can be multiple emitters in a room, each with its own position, and each with its own attenuation curve. Once all sounds within a room have been downmixed and passed through a reverb Effect, it is impossible to selectively scale their volume based on their respective distance attenuation.

A brute-force solution to this problem would be to have a distinct bus and reverb effect for each sound within this room. Since this would be prohibitively costly, Spatial Audio implements the following trick instead: The distance evaluation and attenuation, for the entirety of the distance between the emitter and listener, is applied on the connection between the emitter and its immediate room bus. That is, prior to the downmix and reverberation. This is mathematically equivalent to having one bus and reverb per source, as long as the Effects on the bus are linear. This is generally true with reverb Effects.

Emitter-Room and Room-Listener Connections, Revisited

Distance attenuation from the Room-Listener Connection is instead applied to the Emitter-Room Connections. However, since there may be multiple propagation paths with different lengths in the Room-Listener Connection, there now also needs to be multiple equivalent paths in the Emitter-Room Connection. Only the distance attenuation is applied there, whereas transmission loss and diffraction remain on the Room-Listener Connection.

We can now summarize the characteristics of the propagation paths of the Emitter-Room and Room-Listener Connections.

The following table describes the paths of the Emitter-Room Connection.

Path Type (Number)Characteristics
Transmission/Line-of-sight (1)
  • Distance: Straight line from emitter to listener
  • Transmission Loss: 0
  • Spread: 0 (irrelevant)
Diffraction (N)
  • Distance: Diffraction path's length
  • Diffraction: 0
  • Spread: 0 (irrelevant)

The following table describes the paths of the Room-Listener Connection.

Path Type (Number)Characteristics
Transmission/Line-of-sight (1)
  • Distance: 0 (moved to the Emitter-Room connection)
  • Transmission Loss: Maximum of Room's Transmission Loss and transmission loss of occluding geometry
  • Spread: Based on the room's extent (see Setting up Room Geometry)
Diffraction (N)
  • Distance: 0 (moved to the Emitter-Room connection)
  • Diffraction: Sum of Portal Diffraction and diffraction on geometry edges
  • Spread: Emitter's (from the sound's Attenuation, or from the game object radius (see Game Object Spread), further clamped by the portal's aperture

The following image shows the paths of both connections in the Voice Inspector. The bottom half shows the paths in the Emitter-Room connection, where distance attenuation is calculated over the emitter's Attenuation (Emitter_Attenuation_Rooms_Portals_Demo ShareSet). The top half shows the paths in the Room-Listener connection, where transmission loss and diffraction are applied (under "None" because the room's bus has no Attenuation ShareSet).

Room-Listener connection
Emitter-Room connection

Coupling Between Rooms

The connection between the Emitter's room and the Listener's room represents the diffuse energy of the emitter's room transferred into the listener's room and contributing to the latter's diffuse energy. This transfer occurs through walls and open portals.

Paths are created for transmission through walls and diffraction through portals. The transmission path has a transmission loss equal to the maximum of both rooms' transmission loss. Diffraction paths have 0% diffraction, because sound waves exiting from portals don't need to bend around an edge to excite the receiving room.

Note: If an open portal exists, its propagation path will likely dominate the transmission path and enable coupling of both rooms at full volume. The model does not try to modulate the transfer of energy based on the surface ratio of open portals versus walls. This should be improved in a future release.
Note: The model assumes that geometry in the receiving room does not interfere with the transfer of energy from the emitting room.

These propagation paths should also be subject to distance attenuation, but this attenuation has already been accounted for since it has been distributed to the Emitter-Room connection (see the discussion in Distance-Based Attenuation of the Wet Signal).

The following table describes the paths of the Emitter's Room to Listener's Room connection.

Path Type (Number)Characteristics
Transmission/Line-of-sight (1)
  • Distance: 0 (moved to the Emitter-Room connection)
  • Transmission Loss: Maximum of both Rooms' Transmission Loss
  • Spread: 0 (irrelevant)
Diffraction (N)
  • Distance: 0 (moved to the Emitter-Room connection)
  • Diffraction: 0
  • Spread: 0 (irrelevant)
Tip: You can offset the volume of coupling connections by using the Game-defined aux send's Volume in the authoring tool. This volume applies to a given room bus towards all connected rooms.

Connection Between Listener's Room and the Listener

This connection represents the diffuse energy of the listener's room that envelops the listener. The distance attenuation has already been accounted for at the input of the connection, and therefore applies no additional attenuation. It is also assumed to be unobstructed, and its Spread is close to 100%.


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