Real-time Audio Occlusion and Diffraction using Blueprints

Hey Everyone,

After a hiatus on this blueprint, I’ve decided to come back to it. I ran into some problems developing the audio diffraction part of this blueprint, and had intended to work on that aspect at a later date, but I got crazy over the weekend and figured out a new way to do it! I still have some tweaks to make, but I have a working Audio Occlusion and Sound Diffraction simulation blueprint.

First, I’ll explain what Occlusion and Diffraction are:

**
WHAT IS AUDIO OCCLUSION AND DIFFRACTION?**

Audio occlusion and Diffraction occur when there is an obstacle blocking a sound from directly reaching the listener’s ears.*** Audio Occlusion*** causes an audio source to sound muffled, since there is an object blocking sound waves from reaching the listener’s ear. Audio Diffraction is the apparent bending of sound waves around the obstacle. These satellite audio sources are not as muffled as the occluding sounds, but are generally significantly quieter than the source audio.

Here’s a video giving a visual representation of what’s really going on:

https://youtube.com/watch?v=jCt_yW3ZpZM

This blueprint cannot perfectly recreate these phenomena, so I did my best to simulate the effects. Also, there are limitations with blueprints in accessing sounds and other data. Here are the current limitations to this blueprint:

**LIMITATIONS
**

  • The Audio Occlusion aspect of the BP will not affect sounds that are not physically in the level. *This will not read **Play Sound At Location, AnimNotifies, and other “play and forget” sounds.
    ***- As well as the previous limitation, the Audio Diffraction aspect of the BP will not work on procedurally generated sounds. This blueprint uses dynamically created ambient sounds to recreate diffracting sounds around objects, so it plays the original sound in two other locations. If the original sound has procedural properties (like a bird chirping with randomized chirps) the sister sounds to that original sound will not reliably recreate the original sound, causing the diffraction to sound disjointed.

FUNCTIONALITY

  • Tracks sounds in your level in real-time and can tell when you, the player, are standing behind something in relation to each sound, changing each sound’s properties to simulate the sound getting quieter and more muffled as in the real world.

TRACKING SOUNDS

  • Automatically tracks all ambient sounds in the level, activating traces when in range of each sound actor
  • Will track any blueprints with audio components in the level that you specify with dropdown menu in details panel
  • Handles spawning and destroying ambient sound actors and blueprints with audio components in real time

WORKS ALONG SIDE AUDIO VOLUMES

  • Audio volumes will add their effects to the occlusion effects

READS SURFACE PROPERTIES

  • Add your surface types to arrays in details panel (light, medium, heavy)
  • Depending on surface type the trace hits, audio dampening and muffling occurs at different intensities (you can have sounds dampen more when behind a heavy steel door and less behind a thin wall)

SAVES SOUNDS’ ATTENUATION PROPERTIES

  • Saves the original sound attenuation properties for each sound source and reverts to those properties as you emerge from cover

COMPLETELY IN REAL TIME! AND COMPLETELY WITH BLUEPRINTS!

Here’s a video showing it in use. The Orbs are the sound sources, and the red lights simulate the visualization of the sounds.

https://youtube.com/watch?v=CEajcmS4K4w

Would love feedback on anything you can think of! Thanks!

Sounds really good :slight_smile: I guess its quite performance heavy?

Thanks!

I haven’t done a lot of testing, but I packaged this level with about 13 sounds (which means 39 sounds being tracked with each sound getting two extra sounds for diffraction) and my fps never changed from around 62 FPS.

Added a new video to the first post. A debug demonstration to give a visual aid to what this blueprint does.

Added some more functionality and made this “Features Video” to showcase the major features: