This week, AMD and Valve announced AMD TrueAudio Next (TAN) support for Steam Audio, introducing it with the newly released Steam Audio 2.0 beta 13. Introduced just about a year ago, Steam Audio is Valve’s cross-platform developer tool for VR spatial audio, implementing features like binaural rendering, sound occlusion, and 3D sound propagation. Although consumers do not directly use this SDK, TAN support allows developers to utilize additional audio processing capabilities for GCN-based AMD GPUs. In turn, games and VR applications built on Steam Audio may feature more complex and immersive VR audio on AMD’s GCN-based video cards.

As part of the LiquidVR initiative, the TrueAudio Next SDK was announced in 2016 as a physics-based real-time audio acoustics rendering technology, with the corresponding open-source library part of GPUOpen, and comparable to NVIDIA’s contemporaneous release of VRWorks Audio. Like the other LiquidVR pieces, the goal was to push for maximum VR immersion, of which accurate and immersive audio is a key part. To be clear, although the technology takes its namesake from AMD’s original TrueAudio introduced in 2013, TAN uses existing AMD GPU resources rather than dedicated DSP hardware.

For Steam Audio, two core features of TAN play into its implementation: resource reservation and GPU-based convolution compute. For the former, developers can reserve AMD GPU compute units (CUs) for dedicated audio processing, though the feature limits itself to 20 – 25% of all CUs. The feature can also be enabled or disabled on a scene-by-scene basis, where TAN might be disabled for a graphically intensive scene that demands maximum compute resources.

For audio convolution, where audio signals modifying or filtering in a specific manner, the TAN library offers algorithms that can run on CPUs and GPUs. Using the GPU, TAN can accelerate the versatile convolution reverb for indirect sound, where sound bounces off solid objects before reaching the listener. Valve notes that indirect sound simulation and rendering is the most computationally intensive part of Steam Audio, and because of the Ambisonics technology used for directional variation of indirect sound, more spatial detail and quality require many more convolutions per audio source.

With resource reservation and GPU-accelerated time-varying convolution reverb, Steam Audio can easily offload both tasks from the CPU, which can instead take on other tasks like physics simulations or AI calculations. The other benefit is the isolation between audio and graphics processing, which brings benefits in both directions: computationally and/or graphically intensive scenes will not cause audio clicks, pops, and glitching, while moments of heavy audio processing will not cause sudden framerate drops and stuttering. Valve stated that the performance impact on CU reservation was more-or-less linear, where reserving 10% of available CUs results in 10% lower average framerates. Excluding that resource reservation feature, AMD’s TrueAudio Next whitepaper states that only a relatively small amount of video memory bandwidth is shared.

Utilizing TAN for Steam Audio is completely optional, taking the form of optional higher detail settings for TAN-capable GPUs. TAN can also be used in the various Steam Audio plugins for FMOD Studio, Unreal Engine 4, and Unity, as well as directly through the Steam Audio C API. More details can be found on the Steam Audio 2.0 beta 13 release notes and TAN GPUOpen page. The Steam Audio SDK and integrated plugins can be downloaded from its Github page.

Source: AMD & Valve

POST A COMMENT

11 Comments

View All Comments

  • superunknown98 - Wednesday, February 07, 2018 - link

    It"s nice to see some progress in PC audio, but I wish more developers put effort into implementing surround sound effects. I miss the old days of A3D! Reply
  • Revdarian - Thursday, February 08, 2018 - link

    you and me both... an Aureal 3d 2.0 was my first and best 3d sound card way back in the day, it had the best headphone positional audio ever. Reply
  • bcronce - Thursday, February 08, 2018 - link

    I miss my A3d 1.0 card. Getting called a wall hacker because I could hear their foot steps through the walls with precision. Or that time my cousin's computer's bugged out and stopped rendering player models and he still managed to kill 3 people on the other team in a knife fight just by hearing them. Reply
  • mode_13h - Monday, February 12, 2018 - link

    I connected mine to a DAC, external headphone amp, and proper studio headphones. It was one of the only times I could actually hear elevation changes in audio sources. 360 positioning was spot on, as well. Reply
  • nwarawa - Thursday, February 08, 2018 - link

    Then the question immediately becomes: can you dedicate the GPU portion of AMD's APUs to this? As soon as you upgrade from the impressive yet limited Vega 11 (or 8) in the new Raven Ridge chips, it would be nice if you could still use the 11 (or 8) CUs for something useful. Reply
  • mode_13h - Monday, February 12, 2018 - link

    Excellent point. It'd be great to run physics and audio on the iGPU, leaving the dGPU to focus on graphics.

    If you got a dual GPU card (or identical single GPU cards) and had no iGPU, I wonder if the audio processing could be split 50% between each, or if it has to run all on the same physical GPU.
    Reply
  • palladium - Thursday, February 08, 2018 - link

    So how many Ryzen cores (say, at 3GHz) does it take to achieve a similar performance when 8 CUs are "sacrificed" for audio computation? Reply
  • mode_13h - Monday, February 12, 2018 - link

    More than you've got. Each Vega CU can sustain roughly 180 GFLOPS. I'm not entirely clear on Ryzen's fp32 throughput, but let's give them the benefit of the doubt and call it 16 FLO/cycle. So, you're talking about something in the ballpark of 60ish GFLOPS/core.

    GPUs are convolution monsters. That's why they're so good at CNNs.
    Reply
  • mode_13h - Monday, February 12, 2018 - link

    Oops, I see you said 3 GHz. So, change that to 48 GFLOPS/core. In reality, it could be lower. But, the way I read Ryzen's specs, it sounds like they have 2x 128-bit vector add and 2x 128-bit vector mul units. Reply
  • mode_13h - Monday, February 12, 2018 - link

    Their diagram shows 40 Compute Units. I guess that's... Hawaii? Reply

Log in

Don't have an account? Sign up now