What is Project Acoustics?

Project Acoustics is a wave acoustics engine for 3D interactive experiences. It models wave effects like diffraction, portaling and reverb effects in complex scenes without requiring manual zone markup. 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.

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 result is more predictable and reliable.

Project Acoustics' key innovation is to couple 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 showing a horizontal 2D slice of wave propagation through a scene

Setup

Project Acoustics Unity integration is drag-and-drop and includes a Unity audio engine plugin. Augment the Unity audio source controls by attaching a Project Acoustics C# controls component to each audio object.

Project Acoustics Unreal integration includes editor and game plugins for Unreal, and a Wwise mixer plugin. A custom audio component extends familiar Wwise functionality within Unreal with live acoustics design controls. Design controls are also exposed in Wwise on the mixer plugin.

Workflow

  • Pre-bake: Start with setting up the bake by selecting which geometry responds to acoustics, by, for example, ignoring light shafts. Then edit automatic material assignments and selecting navigation areas to guide listener sampling. There's no manual markup for reverb/portal/room zones.
  • Bake: An analysis step is run locally, which does voxelization and other geometric analysis on the scene based on selections above. Results are visualized in editor to verify scene setup. On bake submission, voxel data is sent off to Azure and you get back an acoustics game asset.
  • Runtime: Load the asset into your level, and you're ready to listen to acoustics in your level. Design the acoustics live in editor using granular per-source controls. The controls can also be driven from level scripting.

Runtime platforms

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

  • Windows
  • MacOS
  • Android
  • Xbox One

Editor platforms

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

  • Windows
  • MacOS (Unity only)

Download

Contact us

Next steps