TrueAudio Next version 1.2 now posted to Github

We have posted the version 1.2 update to the TrueAudio Next open-source library to Github. It is available here.

This update has a number of notable performance and feature improvements, and it reflects the enhancements built into the version of TAN supported in Steam Audio.  In many ways, it represents a “coming of age” of TrueAudio Next.

First, the audio convolution algorithm now includes a significant speedup option called the “head-tail” partitioned method.  This arrangement allows an audio thread that submits a real-time audio buffer into TAN convolution to receive a response from TAN much more quickly than with conventional partitioned convolution. The majority of the computation overhead (the “tail”) occurs in the background, in between buffer submissions to TAN, and thus this method is very friendly to parallel processing. At the same time, it provides a significant latency overhead reduction and performance speedup, since the calling audio thread is not blocked waiting for the entire convolution to be calculated–only for a very short “head” portion.

Many other optimizations were incorporated into the TAN Graphics Audio Acceleration Library (“Graal”) to minimize memory, buffer transfer and synchronization overhead.  Notably, a significant performance improvement is  realized when the IR kernel is updated dynamically while convolution is running.  The latency overhead to the audio buffer calling thread is now only a short “head” calculation with a crossfade from the old kernel output to the new kernel output (illustration below).

Next, the TAN GPU utilities library now supports AMD Resource Reservation, in which a configurable part of the GPU may be reserved for audio processing apart from the normal GPU compute resources. As explained in earlier blogs, Resource Reservation protects audio and graphics queues and compute resources from blocking each other, allowing them to coexist on the GPU as never before possible.  Developers can now call a function to query a system’s TAN support and available resources, as well.

Finally, a number of new samples are added to exemplify and streamline the process of building audio applications using TAN:

  • Accelerated mixing. Mixing on the GPU with TAN can minimize buffer transfer overhead.
  • 10-band EQ.
  • IIR (Infinite Impulse Response) filter.
  • Time domain convolution and doppler sample.

We continue to work on exciting new optimizations for future releases.  Meanwhile, we welcome contributions from others — please feel free to make a pull request to submit your own examples and optimizations for TAN.

Latest news

Looking for a good place to get started with exploring GPUOpen?

Getting started: our software

New or fairly new to AMD’s tools, libraries, and effects? This is the best place to get started on GPUOpen!

Getting started: development and performance

Looking for tips on getting started with developing and/or optimizing your game, whether on AMD hardware or generally? We’ve got you covered!

You may also like...

Explore our huge collection of detailed tutorials, sample code, presentations, and documentation to find answers to your graphics development questions.

Create wonder. No black boxes.

The home of great performance and optimization advice for AMD RDNA™ 2 GPUs, AMD Ryzen™ CPUs, and so much more.

Browse all our useful samples. Perfect for when you’re needing to get started, want to integrate one of our libraries, and much more.

Discover what our SDK technologies can offer you. Query hardware or software, manage memory, create rendering applications or machine learning, and much more!

Analyze, Optimize, Profile, Benchmark. We provide you with the developer tools you need to make sure your game is the best it can be!