PROPAGATE - Real-time sound propagation.

Propagate gives your games incredibly immersive sound propagation. It works great with or without headphones and is also perfect for taking your virtual reality project to the next level of realism.

Propagate simulates three audible cues:

1. Occlusion
Control how different objects block sound waves. You can simulate soft objects by having a higher frequency drop-off.

2. Diffraction
The diffraction system simulates how sound waves propagate around corners and through complicated geometry.

3. Perception
The perception system simulates how sometimes sounds appear to be in different locations due to the geometry of the environment.

It is these three cues together that will bring your players inside truly believable sound-scapes. Setting Propagate up is as easy as using light probes. It’s also fast and efficient.

To hear this for yourself take a look at the demo.
Web player demo.
Windows standalone demo.

Buy Propagate now on the asset store.

Roadmap:

  • Improved frequency adjustment (parametric EQ)
  • Improved audio spatialization, simulating audio behind, above, below. (Dependent on Unity 5.2 release).
  • Material presets for occlusion and diffusion (wood, carpet, metal, etc).
  • AudioNode API (support for procedural levels).

Research / Experimental:

  • Automatic AudioNode placement.
  • Realtime reverberation calculation.
  • High order sound wave simulation.
4 Likes

Very interesting, I wonder why Unity or other extension developers havn’t thought of this.
One thing though, why must it be manual node placement? It sounds complicated, especially if you have a large complex level that goes through many iteration processes. Can it be automatic process by just reading the level geometry? Sort of like how A* path AI works, the level geometry is read and processed and AI path (nodes) are automatically generated.

Also how does it handle multi-level open space (like in Mirror’s Edge sewer level like below)?

I am definitely very interested, it will be on my shopping list!

Currently node placement is manual for the same reason placing light probes is manual. I am prototyping a way to generate them automatically, but it is by no means a trivial problem. One benefit of manual placement is that it gives the level designers control over the fidelity of the simulation by how dense or sparse they place the nodes.

The level above in Mirror’s Edge would be easy to set up. You just need to place one node between each pillar, possibly two, one for the higher level and one for the lower level.

Here are some more videos:

1 Like

I’m giving away two vouchers for a free copy of Propagate! Grab em quick.

ASV-VDA3-RYAY-K7HR-QCFX-D6DA
ASV-ATEY-3QT6-JMFT-QQGF-37WA

they are no longer available id assume

All gone I’m afraid!

BTW, that web demo doesn’t work. I tried it many times and nothing shows up. Just blank.

I would love to get a copy too :slight_smile:

Thanks for letting me know, I’ll try uploading it somewhere else. Watch this thread, I might put up another couple of codes in the future :slight_smile:

Propagate has now dropped from $44.99 to $25!

Tried the web demo again and this time it works!

But I found couple of glitch in the demo - in some area the sound is completely occluded - eg. when you are right next to the glass on the other side of the sound source, even though you expect at least a low frequency rumble, it is completely silent. The sound also doesn’t deal with interpersing walls too well it seems - sound doesn’t get properly occluded, its just area effect (distance fade) after a certain distance.

I think it can be improved by using a radiosity map type setup - the sound source would be computed based on transfer of sound energy to walls - think of dropping an omni-directional light source as sound source, and the resulting “shadow” area are the occlusion area. Right now it doesn’t deal with it those area too well I think.

I sent you an email regarding node placement, but I have another question that is probably best suited for here since I can upload pictures without having to send you attachments. I’m having a serious immersion breaking problem and I don’t know what is wrong with my nodes that is causing it.

In the first screenshot, you see see that I am standing directly under an intercom with a sound attached. I am also almost directly over a node. However, the sound is muffled because it appears to be shooting out to the center of the room and coming from way behind me. In the second screenshot, I shift over just a tad bit, and the sound is loud and appears to be coming from the right direction.

Other rooms have an identical setup without the problem, so I’m not sure why the inconsistency is there.

Hey HemiMG,
I tried to replicate your setup in those screenshots but couldn’t replicate the problem. Any chance you could send me your project?

I can, but it may take a few days. I have some assets in there that I don’t have permission to share so I’ll need to duplicate the project and strip it of anything unnecessary. Which will probably be good for file download size anyhow. It turns out that it isn’t just that one area, the sound goes wonky in a few other places too. The intercom in that one room is till the easiest area to find because it’s an easily identifiable landmark.

Sometimes when playing I get an error that no node is near the player. There are nodes all over the scene, so I don’t know what is causing that. But I also get those errors when I’m not paying attention so I’m not sure when it is happening.

I’ll definitely get a project to you at some point though, because I really want this sound propagation in my game. I think it will add to the gameplay mechanic tremendously because sound is pretty important to the game.

This looks very good, but I have a couple of concerns. My first concern is that the last post on this forum was in August and the asset doesn’t have any reviews nor enough ratings to show what people think of it. So, it makes me wonder if it’s already a dead product or not. Second, how is performance for this? What kind of frame rate drop can I expect when using this on a console system? Is performance difference negligible or very noticeable?

Does it support procedural audio playback? And if so, is there a latency to play the generated audio using this plugin?

I’m doing a POC with this library. We have VOIP in our game which works by directly writing its buffer using OnAudioFilterRead. This gives zero artifacts and jitter but disables Unity built in spatialization, so we use Phonon 3D to reenable it. Anyway, this works with this plugin. The plugin works by moving the audio source relative to the actual source position and apply a low pass filter. It also overrides the master volume.

(Support seems none existing) and there are alot of work to be needed until this reaches a production level Asset, for example the path finding is very buggy, and since it moves the audio source the Doppler effect is applied which creates artifacts. I have an idea where I recalculate the Doppler level by comparing the actual delta between the original audio source position and the listener and compare and remove the delta between simulated position because of propagation. Then apply this to the doppler level so its simulates actual Doppler level. You can also disable Doppler all together, but that removes some realism for fast moving objects.

Also the node config utility is very buggy, and it does not support layers so you need to implement that yourself. (If you want the raycasts to ignore some layers).

This also needs to be fixed (Plus if the doppler effect is not disabled the large move in one frame will make the sound go crazy)

https://www.youtube.com/watch?v=j0Urzb_VJqY

edit: I actually got an reply to my emails, so lets hope this is still under development guys, because it has promise if above issues are fixed

Wow, it sounds like you’re diving deep into the guts of your game! Using OnAudioFilterRead for VOIP is a clever move for getting that crystal-clear sound without any weird glitches. But yeah, losing Unity’s built-in spatialization could be a bummer. It’s cool that you’re using Phonon 3D to bring it back, though.

I totally get where you’re coming from with the Doppler effect causing some wonky artifacts. It’s like, you want the sound to feel realistic, but you don’t want it going all wonky when things get hectic. Your idea to tweak the Doppler level sounds pretty smart, actually. And yeah, turning it off completely might make things less realistic, especially for fast-moving stuff.

Man, dealing with buggy plugins is such a pain, isn’t it? And having to manually handle stuff like pathfinding and layer support? Sounds like you’ve got your work cut out for you. But hey, props for sticking with it and finding ways to make it work.

I 've seen a similar system in Lockdown Protocol a video game i’ve seen on ks (source : https://www.kickstarter.com/projects/miragecreativelab/lockdown-protocol ) ! Sounds awesome! Having voices echo realistically through the environment adds a whole new layer of immersion to the game. It’s like you’re really there, you know? It must be a blast to play around with all that stuff and see how it changes the gameplay experience. Keep at it, man!