When creating state-of-the-art sound for a game or experience, many sound designers focus on accurate spatial 3D rendering of direct sound sources. Spatialized direct sound is important for realizing believable soundscapes that pull the player into the game world.
An aspect of sound design that often receives less attention is that of sound reflections – sound that reflects from the walls, ceiling, floor, and objects in a room before reaching the ears. Rendering of spatially accurate physical sound reflections requires significantly more compute resources than spatialization of direct sound, and tools may not be up to the task. Therefore, most sound designers prioritize the design of spatialized direct sound and use simple reverbs to implement sound reflections, with the reverb volume typically set to a low level to avoid loss of clarity.
However, higher levels of realism and believability can be achieved when accurate sound reflections are deployed in a game or experience. Spatialized, physically generated reflections can achieve this goal and provide useful positional cues to the listener in cases where direct sound falls short. Ambisonics, a 3D audio encoding format that makes changes in head orientation to sound fields straightforward to calculate, can be used to render spatialized reflections with scalable resolution. Higher-order Ambisonics (HOA) is especially effective here, since each increase in order exponentially increases the spatial resolution of the reverberant sound field, avoiding clutter and ambiguity. Zero order Ambisonics is monodirectional (“in the head”), while third order Ambisonics (a higher order format) resolves sound from sixteen directions.
Steam Audio is a powerful audio SDK that allows sound designers to easily add realistic, physically modeled sound reflections to their scenes. Using the currently available Steam Audio 2.0-Beta.17 SDK and a supported AMD Radeon GPU, AMD TrueAudio Next (TAN) acceleration can be used with Steam Audio to enable use of third order Ambisonics sound reflections on many more audio sources than could be afforded with conventional CPU rendering. The Steam Audio SDK comes with complete instructions on how to enable and use TAN, and how to easily configure CPU fallback options for systems that do not support TAN.
To show some of the benefits of third order Ambisonics rendering of reflections vs. non-spatialized (zero-order) audio reflections, we created a very simple scene in Unity with the Steam Audio Unity Plugin, having a room filled with sixteen speakers (represented by spheres) all talking simultaneously. The room is entered from outside via a long hallway.
We then captured video of the scene in two cases:
- One where the real-time sound reflections are rendered with zero-order Ambisonics. This used sixteen total convolutions, not difficult to do on modern CPUs.
- One with TAN-accelerated third order Ambisonics. 16 sources will use 256 total convolution filters running on a reserved portion of the GPU.
In both cases, the same 3D direct sound rendering is used, so the differences are only due to the handling of sound reflections. The integrated CPU fallback capability of the Steam Audio SDK was used to perform the change of rendering. Steam Audio uses this fallback automatically when a TAN-supported GPU is not present. The scene was easy to create, following the Steam Audio SDK instructions.
Here are some things to listen for in the video when TAN is enabled (headphones recommended):
- When outside the building, it is easy to hear the direction of the reflected sound. Direct sound positioning cannot work when only reflections are audible. No sound-directing gadgets are added to the scene to create this effect, it is created automatically with physics.
- When in the hallway, the reflected sound is more natural-sounding and orients you to the passage into the room as you turn your head.
- When inside the room, even though there is a lot of reverberation from the walls and ceiling, it is easier to pick out individual speakers, and the room is more natural sounding as you move around. This also makes the sound more comfortable for listening even though a lot is going on. With zero-order Ambisonics reflections, the sound designer would typically need to turn down the reverb level to avoid disorienting the listener; this could be done with a simple script in a fallback case but is not done here. In the fallback zero order case, realism and immersion are not at the same level as with HOA reflections, but the sound design does not have to be re-factored for each case.
We encourage sound designers to try out these effects with TAN acceleration in Steam Audio and hear the difference with their own content. Steam Audio downloads can be found here: https://valvesoftware.github.io/steam-audio/downloads.html. Take a look at “Other Downloads” on that page for TrueAudio Next support.
The video can be viewed below:
AMD, the AMD Arrow logo and combinations thereof are trademarks of Advanced Micro Devices, Inc.