Steam Audio, Valve’s free made-for-VR spatial audio system, has added support for AMD’s GPU-based TrueAudio Next technology, as well as the popular FMOD audio software.
AMD TrueAudio Next
Today Valve announced the release of Steam Audio 2.0 beta 13 which now supports AMD’s TrueAudio Next technology, which allows developers to run certain audio-processing tasks on supported AMD GPUs, including convolution, a method of filtering audio to layer in spatial and environmental effects. As described by Valve’s announcement of the new feature:
Audio engines used for games and VR usually support convolution reverb: various combinations of audio data can be filtered using convolution, to add reverb, after the user has specified an [impulse response] in some way. This is usually real-time convolution, which means that audio is filtered as it is being played. [Impulse responses] used for reverb are often quite long: representing the IR for an airplane hangar with a 5-second reverb at a 48 kHz sampling rate requires (5 * 48,000) = 240,000 audio samples = around 935 KB. Real-time convolution is a very compute-intensive operation, and audio engines usually allow only 2-4 convolution reverb filters running simultaneously, to keep CPU usage within acceptable limits. Convolution reverb can model a wide range of acoustic phenomena, and leads to an increased sense of presence, which is especially important in VR. However, because it is a compute-intensive algorithm, it is often avoided in favor of less compute-intensive, less detailed reverb algorithms.
TrueAudio Next uses the GPU compute capabilities of supported AMD GPUs to accelerate convolution, allowing developers to increase the acoustic complexity and detail in their games and VR applications using convolution reverb.
TrueAudio Next also supports something called Resource Reservation, which allows developers to dedicate a portion of the GPU’s processing power (up to 25%) to spatial audio, effectively offering parallel processing of image rendering and audio processing. This can be enabled and disabled on the fly, allowing full use of the GPU for image processing when needed.
Valve says that the OpenCL-based convolution processing running on the GPU via TrueAudio Next shows significant gains over the same convolution tasks running on the CPU, which means you’re not only offloading processing to the GPU, but also freeing up extra CPU processing for other tasks.
While Valve advises that “Steam Audio’s CPU-based convolution is highly efficient, and is sufficient for a wide variety of games and VR applications […],” they note that “[TrueAudio Next] allows us to give developers the option of reaching an even higher level of auditory complexity: increasing the number of sources, or the Ambisonics order for indirect sound, or the IR length, etc.”
The announcement goes into detail about the potential performance benefits and impacts of TrueAudio Next, and specifies that the technology is supported by the following GPUs on Windows 10: RX 470 Series, RX 480 Series, RX 570 Series, RX 580 Series, R9 Fury, R9 Fury X, and Pro Duo.
Valve, which doesn’t often wade into GPU-specific technologies, also addresses an important question: why?
There are two main reasons why we chose to support TrueAudio Next in Steam® Audio:
- If we can provide developers with more flexibility in choosing how their audio processing workloads are balanced on a user’s PC, we want to do that. TrueAudio Next allows developers to choose how CPU and GPU resources work together to provide a compelling audio experience on the user’s PC.
- If we can allow developers to offer an optional higher level of audio detail with their existing content on PCs that are powerful enough, we want to do that. With Steam® Audio, developers just specify higher settings to be used if a TAN-capable GPU is installed on the user’s PC. Developers do not have to re-author any content to work with TAN. Steam® Audio can be used to seamlessly select either CPU- or GPU-based convolution, depending on the user’s hardware configuration.
Steam® Audio’s support for TrueAudio Next does not in any way restrict Steam® Audio to specific hardware or platforms. We hope that our support for TrueAudio Next encourages hardware and platform vendors to provide more options for developers to balance their audio workloads against graphics, physics, and other workloads, which in turn will help them create better audio experiences for their users.
As of Steam Audio beta 12, released in January, the software now offers a plugin for the popular FMOD audio authoring tool. Valve says the plugin “lets you use the full range of spatial audio functionality available in Steam Audio—including HRTF, occlusion, physics-based sound propagation, and baking—to projects that use FMOD Studio.”