Convolution reverb with 3d positioning

Hi.
I have a sound. I placed an attenuation on it, and inside the attenuation I send to a submix called “ReverbSubmix”. The ReverbSubmix has an effect preset with a convolution reverb on it.

I play a test lvl and have the audio source looping. I can hear the reverb, but the problem is that it is a semi 2d reverb. It is being faded up over distance (as set in the attenuation under submix send), but it is not real 3d. The tail of the convolution reverb is stuck at whatever stereo postion the audio source was played in originally. Also it seems very wide stereo wise, even though you are facing the audio source from pretty far away. The reverb tail doesnt seem to envelop the actual source, but just seems to be super wide and like a stereo file being played in the extreme L/R. Not coming from the same small and narrow locatin as the sound source that is small and narrow.

What I would like, is to place a 3d sound source in the world. have convolution reverb over distance and maintain its 3d position.
Now, this is easy to achieve if I have a reverb per sound source (source effect), and just automate the wet/dry signal with distance, but this is obviously ridiculously expensive as every single instance of an event would have to have its own reverb. I want to know how I could achieve this using sends, so there is one shared reverb between all events, yet the reverb signal is panned and matches the 3D location of the event it is processing.

I also quickly tried with your algo reverb and made an effect preset. Tried it via attenuation submix sends. No stereo information is begin retained. IE, if I set the reverb tail to be 4 sec long and stand so I have my sound source on the left side of me, the tail is enveloping me completely, the same way 360 degress. There is no stere0 information. One would expect to have a louder reverb tail to the left side of me. Not equally distirbuted between L/R.

Thanks

@dan.reynolds (or whoever feels like answering) :slight_smile:

You could use an audio volume, apply you submix there, and all audio in that volume will be affected post specialization.

@stevejlane19821 It seems audio volumes only support the stock reverb effect. Not the DSP effect presets (including algo reverb and convolution reverb etc).
And the problem there is:
Algo reverb: no real stereo field
Convolution reverb: The tail doesnt dynamically change 3d position but stays at it’s played position.

Bummer. Any solution?

Please fix the convolution reverb 3d placement thingy!:slight_smile:
Maybe @lantz.anna_1 has some ideas?

Thanks :slight_smile:

I’m not sure I understand your panning issue, but inside the convolutino reverb I toggle on True Stereo which gives a MUCH better effect.

image

When it comes to using convolution reverb via volumes I recomened watching this video from Epics Dan Reynolds!

Thanks. Already watched it.
And yes, I’m sure true stereo is better.

But you can test and see the problem yourself:

Get a IR with a very long tail. Maybe 3 sec or so.
Use it on a sound source that loops. It should be a very short sound that lasts maybe 5 ms or so.
It should loop every 4 second or so.

Stand to the right of the sound source. As soon as the sound source has stopped playing, move your character “head” around. Observe that the reverb is stuck forever to your right, even though you turn you left side to the source.

Makes sense? :slight_smile:
Thanks for the input
@nordiskapa

I’m using 4.27 by the way. It might not be an issue in UE 5. But worth testing anyway :slight_smile:
EDIT: Tested in UE5. Same problem with convolution reverb. Not a correct/realtime dynamic 3d position on tails.

This makes me wonder what reverbs on submixes are for? I get that you want to apply reverb to submixes. But when there is no correct stereo information, why have that option at all? We are still stuck with the old reverb plugin apparently (?)
Hope i’m wrong though:)

2022-06-17 15-01-28.mkv (11.5 MB)

Here is a video of the problem.

The lack of a stereo field with algorithmic reverb is something we’ve heard reported from other people and are currently investigating.

Re: convolution reverb tail - that’s just how convolution as an algorithm works. That’s not an Unreal thing, that is a physical limitation of convolution as a mathematical operation. That initial 5 ms sound is being propagated through your entire IR filter, and that includes the panning and ITD on your initial 5 ms sound. Think of it like an echo - changing the setting on the 5 ms source by moving your head does not influence the echoes of the sound that already happened, and it will have no influence if you move while the original sound source is silent, e.g., outside of the 5 ms where it makes noise.

For the record, in physical spaces, reverb you hear often isn’t from the same direction as the initial sound source - it’s from reflections off the walls. If your main concern is something like “reverb from a room the character is outside of / far away from,” it might be worth looking into things like occlusion for that effect. If you really really want your reverb to be from the exact same direction as the sound source and to pan as your character’s head moves, use a Source Bus.

Amazing knowledge, thank you.