Project Acoustics 3.0 is now available

Build immersive audio experiences using the latest version of Project Acoustics with support for Unreal Engine 5.

August 31, 2022
Project Acoustics being used in game development

We're happy to announce that a new version of Project Acoustics is available! Project Acoustics is our wave-based simulation engine that adds accurate sound propagation to your 3D environments, whether it's a video game or mixed reality experience. We currently offer plugins for Unity and Unreal engines and runtime components for several OS platforms. The latest version includes many bug fixes and new features. The documentation has been updated with information about new features and beta features.

Feature Highlights

  • Unreal Engine 5
    • Support for Unreal Engine 5
    • Integration with Unreal Engine 5 native audio engine
    • Local bake support
  • Wwise 2021
    • Object pipeline support
  • Performance overhaul
    • Improved baking speed: up to 2x faster
    • Disk size reduction for acoustic data: 2-3x smaller
    • Memory reduction: up to 2x smaller RAM footprint
    • Runtime speedup: 1.5x to 27x faster acoustics calculations
    • Highly optimized headphone spatializer: nearly 3x faster for same quality

Unreal Engine 5

The Project Acoustics team has been busy collaborating with the audio team at Epic Games to provide enhancements to Unreal Engine 5 (UE5) via the new Source Data Override (SDO) plugin interface.  This interface enables Project Acoustics to use its propagation data to drive your favorite spatialization and reverb effects within UE5's sound engine. For instance, in the presence of obstructions, Project Acoustics will override the arrival direction of a sound so it no longer points straight through walls, but instead correctly points in the direction it would be heard as redirected around obstructions. Your chosen spatializer plugin then renders as usual from this corrected direction.

"After working closely with the Project Acoustics team, we realized the power inherent in exposing all source data to third-party plugins via the Source Data Override plugin interface," said Aaron McLeran, Director of Unreal Engine Audio at Epic Games. "Developers can now enjoy even more control over their audio, including driving Unreal Engine 5 next-gen audio features as well as other plugins via advanced acoustical modeling data."

Marketplace plugin

To make it easier to integrate Project Acoustics into your title, we have packaged the components into a free UE Marketplace offering. This is the simplest way to get started exploring Project Acoustics. To get started, search for "Project Acoustics for Unreal Audio" from the UE Marketplace to integrate the Project Acoustics engine plugin into your UE5 installation.

Project Acoustics Unreal Engine marketplace offering
Project Acoustics Inline image 1

Local bake support

Another feature addition that will make it easier to get started with Project Acoustics is local bake support. Local bake support is a helpful way to produce baked assets when the complexity of signing up for an Azure Batch account is a blocker. Two new buttons were added to the Bake tab UI, one to generate the data files needed to initiate the bake process and a second button to provide a link to the download page for the bake tools used to process the generated data files. Local bakes will take a considerably longer amount of time to complete than using many parallel cloud VMs. This local bake option was previously only available with the Unity plug-in and is now available with the UE plugin.

screenshot of local bake support

To dive deeper into the Project Acoustics for Unreal Audio plugin, check out the recorded Inside Unreal livestream hosted by Epic Games. We discussed how Project Acoustics takes advantage of the new UE5 audio improvements and demonstrated how UE5's Lyra sample project was enhanced with a Project Acoustics bake.

Wwise 2021

With the release of Wwise 2021.1, AudioKinetic has raised the bar for supporting spatial audio in Wwise. Audio Objects as a first-class concept was introduced in Wwise 2021.1 and has led to both sonic and performance improvements in the audio processing graph. To read further about Audio Objects in Wwise, check out the excellent blog post covering the topic from AudioKinetic.

With the Project Acoustics 3.0 release, a new Project Acoustics Spatializer plugin was provided which natively supports Audio Objects. By supporting Audio Objects, the process of spatialization can be delayed in the processing pipeline until the final rendering format (e.g. headphones, multi-channel loudspeakers) is known, thus producing the best possible spatialization results. Learn more about integrating the Project Acoustics Spatializer plugin into your project by consulting the Project Acoustics online documentation.

Project Acoustics Spatializer plugin
Project Acoustics Inline image 3

Performance Improvements

Performance will always be a focus for the team and with the Project Acoustics 3.0 release there were several performance improvements to celebrate.

Bake speedup

The long pole for the acoustics design process has always been the computation needed for probe calculation: baking (and pre-baking).  With Project Acoustics 3.0, we have done numerous optimizations to accelerate the bake performance since the last release. For typical scenes, we are seeing a 2x improvement in bake times compared to Project Acoustics 2.0.

The pre-bake (bake setup) process always runs locally and can become a bottleneck on larger scenes. The pre-bake speed has been improved dramatically by moving some per-probe calculations into the bake process that runs in parallel over machines in the cloud.  For large scenes the time savings can range anywhere from minutes to hours depending on the navigable area.  For example, we are seeing a 5x improvement in pre-bake times for a scene with ~1000 probes.

New custom compressor: Disk and RAM reduction

Next-generation titles are pushing for larger worlds which is putting stress on the disk footprint for these expansive titles.  Another focus for the Project Acoustics 3.0 release was on reducing the size of the acoustic data file, known as an ACE file.  A new custom 3D compression algorithm was developed to reduce the size of the ACE file by 2x to 3x for typical scenes.

Project Acoustics ACE file
Project Acoustics Inline image 4

The compressor operates on 3D bricks of floating-point data, allowing flexible control on quality, while fully exploiting the smoothness of data in all three dimensions to provide a big improvement in the compressed size. The figure above illustrates the quality achievable with Project Acoustics 3.0's new compressor on an example scene showing the "loudness heatmap" for sound obstruction. On the left is our previous compressor based on integer-compression using Zlib, and on the right our new floating-point compressor.

RAM usage has also improved significantly. Depending on how aggressively streaming is tuned, the reductions can be more than 2x. This is because we need to stream the compressed data into RAM for on-the-fly decompression. Smaller compressed data means less RAM usage.

Runtime performance

Project Acoustics' runtime acoustics calculations have also been accelerated significantly, in part thanks to the new compressor, allowing many more sound sources to be budgeted for acoustics calculations. There is good improvement in the best case, but perhaps more importantly, performance in the worst case (when a decompression cache misses) has been improved drastically. This means that in addition to being quicker, the acoustics runtime's CPU cost is also much more consistent over frames.

PC benchmark of query times
Cache hit: 25 -> 15 microsecs [1.5x improvement from PA2.0]
Cache miss: 1100 -> 40 microsecs [27x improvement from PA2.0]

Fast object-based binaural spatializer

Project Acoustics 3.0 includes a major overhaul to the headphone spatializer plugin's DSP algorithms. Performance was the key metric while maintaining audio render quality on par with Project Acoustics 2.0.  Memory utilization for HRTF data dropped from ~32MB to ~0.23MB by using a highly optimized set of audio filters derived from the original 32MB HRTF dataset.

Scalable runtime performance as source counts increase was also a motivation for redesigning the spatializer DSP.  The per-source computation cost for the previous spatializer DSP could easily saturate a CPU when attempting to render numerous sources.  With the redesigned renderer, the per-source cost is reduced by as much as 3x which provides additional headroom to add more sources without a reduction in audio quality.  The chart below illustrates the reduction in core utilization percentage for various dynamic source counts with Project Acoustics 3.0.

chart showing the CPU utilization to spatialize audio using Project Acoustics 2 vs Project Acoustics 3. Project Acoustics 3 has lower CPU utilization at all numbers of sources, with the gap widening as the number of sources increases. at 150 sources Project Acoustics 2 has almost 9% CPU utilization while Project Acoustics 3 has only 3% CPU utilization
Project Acoustics Inline image 5

Learn more

For more information, head over to Microsoft Game Dev Docs for the complete Project Acoustics documentation and download instructions. Got an issue? The Project Acoustics forums welcome discussions and issue reporting. Ready to dive in? Download the Project Acoustics for Unreal Audio plugin from the Unreal Marketplace.

Thanks for checking out Project Acoustics! We're eager to hear your feedback on these new features.