Wwise SDK 2022.1.18
|
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.
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.
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) |
|
Diffraction (N) |
|
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 | |
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.
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.
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.
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) |
|
Diffraction (N) |
|
The following table describes the paths of the Room-Listener Connection.
Path Type (Number) | Characteristics |
---|---|
Transmission/Line-of-sight (1) |
|
Diffraction (N) |
|
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 |
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) |
|
Diffraction (N) |
|
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. |
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%.
Questions? Problems? Need more info? Contact us, and we can help!
Visit our Support pageRegister your project and we'll help you get started with no strings attached!
Get started with Wwise