Announcement

Collapse
No announcement yet.

[GAUGING INTEREST] Adaptive Audio Occlusion

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    [GAUGING INTEREST] Adaptive Audio Occlusion

    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:



    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 the basics. The Orbs are the sound sources, and the red lights simulate the visualization of the sounds.



    Would love feedback on anything you can think of! Thanks!
    Last edited by Obsidiaguy; 01-28-2016, 06:05 PM.
    |Mitchell Lucas
    |Technical Sound Designer at Magic Leap

    #2
    sounds great.
    Will it work in large outdoor landscapes with flora/fauna ambients, with guns/explosion sounds for squad sized infantry fighting without being expensive in terms of resourses?
    If so then day one purchase from me.
    Regards
    Slinky

    Comment


      #3
      I'd get it. Not only is positional audio necessary, but also audio occlusion. How expensive is the system as far as resources go?
      WIP: Science Project - A collection of middle school through advanced college level science theory and formula-based functions for use in your own projects
      World Machine to UE4 Export Macro
      WM Folder Generator - Creates a folder that you name with HeightMap, NormalMap, SplatMap, and Tile sub-folders

      Comment


        #4
        Thanks guys,

        SlinkyMuffins - The blueprint currently supports ambient sounds and blueprints with audio components. Some one shot sounds can't be located by blueprints, so those types of sounds will have to be handled like previously.

        SaviorNT - I'm not home to check specifics, but the way this blueprint is designed, is that it only traces to sounds you are in the attenuation sphere of. Also, it's only one trace at a time, cycling through all nearby sound sources. Shouldn't be too performance expensive.
        |Mitchell Lucas
        |Technical Sound Designer at Magic Leap

        Comment


          #5
          I gave this blueprint a quick test in a more complicated project. I used the Particle Effects level from Epic (the one in the cave). My pc already doesn't like it very much. I average around 38 FPS in it.

          I threw my Adaptive Audio Occlusion blueprint in and tweaked it a bit. With it keeping track of 48 ambient sound actors in the level, and cycling a trace through up to 15 nearby ambient sounds, I barely saw a performance hit. I would say an average of 1-2 FPS. Got some more tweaking to do, and hopefully I can get a video of it soon.

          It's kinda funny, when I have debug on, so I can see the traces, as I walk through the level it kinda looks like a laser light show with the traces hitting all these nearby invisible ambient actors.
          |Mitchell Lucas
          |Technical Sound Designer at Magic Leap

          Comment


            #6
            isn't this the same thing as this BluePrint asset being worked on?

            https://forums.unrealengine.com/show...udio-Blueprint

            Comment


              #7
              Hey Vata,

              The blueprint you linked is to simulate wind over the player's ears. The occlusion blueprint this thread is about is to simulate game sounds getting quiet and more muffled when an obstacle blocks it from the player.
              |Mitchell Lucas
              |Technical Sound Designer at Magic Leap

              Comment


                #9
                I have a couple ideas to perhaps make it more efficient. I'll get back with a video maybe tomorrow.
                |Mitchell Lucas
                |Technical Sound Designer at Magic Leap

                Comment


                  #10
                  Here's a video of a couple flythroughs of the particle effects level. The audio in the level doesn't behave well, since it was never intended to be "played," but the blueprint works as intended. Here you can see the FPS tracking from console. I personally don't notice a change between the two flythroughs as far as performance.





                  Good sign!

                  I trust there would be some interest in this blueprint. I only have a few more things to sort out with it, then I'll go ahead and submit it soon.

                  Thanks everyone!
                  |Mitchell Lucas
                  |Technical Sound Designer at Magic Leap

                  Comment


                    #11
                    This looks fantastic. I would love to have a go at balancing the amount of dampening myself. If I was to place the heavy examples side by side would it fully block the sound or would there be any gaps/bleed? Curious to see how accurate it is. Good work NJ

                    Comment


                      #12
                      I would definitely buy this.

                      Comment


                        #13
                        Thanks honaj and NJ Apostol!

                        I've recently started adding sound diffraction functionality to this project by request. Hopefully I can get a good simulation going soon and then I feel that it would be complete.

                        For those unsure of what sound diffraction is, here's an image I found online:



                        Not only does the sound need to be muffled by obstacles, but it should also be heard along the edges of that obstacle that offer a clear path to the listener. Of course I can't recreate this perfectly, but I'd like to get an acceptable simulation of the effect without being too costly on resources.

                        More updates as I progress!
                        Attached Files
                        |Mitchell Lucas
                        |Technical Sound Designer at Magic Leap

                        Comment


                          #14
                          In that image, you would also need to factor in sound echo. The amount of echo to be determined by material. I've been trying to advocate for a PBR-style node in materials that is used by the audio engine.. but it has fallen on deaf ears I think.

                          I am by no means an audio engineer, however, something like this: http://www.bembook.ibpsa.us/index.ph...on_Coefficient

                          You can add it in as an update if you wish, I'm excited for the release of this so I can start using it
                          Last edited by SaviorNT; 06-09-2015, 01:31 PM.
                          WIP: Science Project - A collection of middle school through advanced college level science theory and formula-based functions for use in your own projects
                          World Machine to UE4 Export Macro
                          WM Folder Generator - Creates a folder that you name with HeightMap, NormalMap, SplatMap, and Tile sub-folders

                          Comment


                            #15
                            Thanks for the comment, SaviorNT.

                            I am still chugging away at this. The diffraction feature is definitely a tough feature to implement.

                            The link you provided (with the absorption coefficient) is covered by the base occlusion blueprint, if not as in-depth. I let you separate any surfaces into basically three levels of sound absorption.

                            The pictures in my last post are just showing how a sound from another room would not only be muffled, but if there was an opening in the wall, it might sound as if the sound is coming from that opening as well, if a little quieter. There are more formulas for that as well regarding sound wave length and the size of the opening, but I'm not getting that involved with it in this blueprint. I merely want to prevent the jarring sound the occlusion would have without at least some diffraction around smaller obstacles.
                            |Mitchell Lucas
                            |Technical Sound Designer at Magic Leap

                            Comment

                            Working...
                            X