What is Project Acoustics?

Project Acoustics is a wave acoustics engine for 3D interactive experiences. It models wave effects like occlusion, obstruction, portaling and reverberation effects in complex scenes without requiring manual zone markup or CPU intensive raytracing. It also includes game engine and audio middleware integration. Project Acoustics' philosophy is similar to static lighting: bake detailed physics offline to provide a physical baseline, and use a lightweight runtime with expressive design controls to meet your artistic goals for the acoustics of your virtual world.

Screenshot from Gears of War 4 showing acoustics voxels

Using wave physics for interactive acoustics

Ray-based acoustics methods can check for occlusion using a single source-to-listener ray cast, or drive reverb by estimating local scene volume with a few rays. But these techniques can be unreliable because a pebble occludes as much as a boulder. Rays don't account for the way sound bends around objects, a phenomenon known as diffraction. Project Acoustics' simulation captures these effects using a wave-based simulation. The acoustics are more predictable, accurate and seamless.

Project Acoustics' key innovation is to couple real sound wave based acoustic simulation with traditional sound design concepts. It translates simulation results into traditional audio DSP parameters for occlusion, portaling and reverb. The designer uses controls over this translation process. For more details on the core technologies behind Project Acoustics, visit the research project page.

Animation of a horizontal 2D slice of wave propagation through a scene

Video Presentation from GDC 2019

Project Acoustics Video

Setup

Project Acoustics Unity integration is a Unity package containing both editor scripts for design and runtime scripts with an audio spatializer plugin.

Project Acoustics Unreal integration includes an editor plugin for design and game plugin with a Wwise mixer plugin for audio playback support.

Workflow

  • Pre-bake: Start with setting up the bake by selecting which geometry responds to acoustics by, for example, ignoring light shafts. Then edit material assignments and select navigation areas to guide listener location sampling. There's no required markup for reverb/portal/room zones. Debug displays help show which data will be included in the bake process before performing the bake.
  • Bake: The acoustic simulation requires intensive computational power. The data files produced by the prebake are sent to Azure to accelerate the simulation process. Once completed, the resulting acoustics information is downloaded into your project as a game asset.
  • Runtime: Load the acoustics game asset into the Project Acoustics plugin. Design the acoustics live in editor using granular per-source controls, either via UI controls or code.

Runtime platforms

The Project Acoustics runtime plugins can currently be deployed to the following platforms:

  • Windows
  • Xbox
  • Android
  • MacOS

Editor platforms

The Project Acoustics editor plugin is available for the following platforms:

  • Windows
  • MacOS (Unity only)

Download

Source Access

For source licensing information, contact your Microsoft Gaming representative and ask for the "GDK addendum agreement for the Game Development Kit Repository."

Contact us

Next steps