Fmod Convolution Reverb cutting off tail

Hello,

I wanted to try out the new convolution reverb but one thing is really bugging me: the convolution reverb is cutting off a big part of the reverb tail. Is there any way to change this? I couldn’t find how to do this.

Thanks in advance,
-Mathijs Wiermans

Where did you put the reverb? On a group bus or on the event itself? If its on an event the reverb will stop when the event stops.

I put the reverb on the standard reverb bus and send the event audio using a send to the buss. In the convolutiom reverb there is a big area grayed out, implying it is ignoring that part. It seems to do this at -60 dB.

There’s an issue with long reverb tails being cut off with the input goes idle. This will be fixed in 1.07.04.

No one can remember why the area below -60db is grayed out in the UI. We might remove it in a later version.

1 Like

Great news this issue is being fixed. Anyway if anyone has problem with this there is a workaround: Just create almost silent event and play it in loop. Reverb tail shouldn’t be ever cut again.

So, We’re on 1.08 now, and the cut off still exists. Was there an odd reason after all? crippling performance?

I assume that I’m having the same issue with the regular FMOD Reverb and it is not specific to the Convolution reverb? I have a Reverb send on a group, returning to a Return, and when the event is finished (gunshot), the reverb cuts off as well.

Just saw that .04 was out - will download that and see if that fixes it.

Is there any update about this bug I’m experiencing the same issue with Reverb time on convolution reverb. Currently running 1.09.02 version with Unreal engine 4.14.3 version.
Thanks in advance

There is a fix for this in our next release, scheduled for later this week.

For anyone still experiencing reverb cutoff in 1.08…

As Nick mentioned previously, there was an issue with the convolution reverb cutting off long tails when the input goes idle. This was fixed in 1.07.04.

However, we have recently discovered another issue, this time in the Studio runtime code, that can also cause long tails to be cutoff. This could affect both the Convolution Reverb and the regular FMOD Reverb, in fact any effect with a tail that persists long after its inputs have gone idle. Here’s a quick explanation:

Each Bus in Studio is implemented on top of a low level ChannelGroup internally. For efficiency, these channel groups, and their effects, are created and destroyed on demand. The channel group only exists if at least one event instance routes in to the bus.

Say you have a short gunshot event sending to a reverb bus, and the reverb is setup for a long tail. When the gunshot event stops naturally, then there are no longer any events sending to the reverb bus. So the bus gets deactivated, and its ChannelGroup is destroyed.

Of course, the system is supposed to wait until any DSP effect tails have played out before cleaning up. That’s where the bug lies.

We should be able roll out a fix for this bug in the next release. In the meantime, the suggested workaround is to call Studio::bus::lockChannelGroup on your reverb buses. What this does is force a bus’s channel group to be created and to persist even with no inputs. You can just do this once after loading your master bank.

1 Like

Experienced with delay also. It could be good to have the choice between cut the effect when event if off or keep it. Thanks!

This bug is still here :confused:

Apologies, all that time I had a fix here which need to be vetted. I have revisited it and we are looking to put a fix in the next release for 1.08 and 1.09.

Are you using the Studio::bus::lockChannelGroup to avoid it in the meantime?

Hey Brett, thanks for the answer. Actually I don’t know how to use the Studio::bus::lockChannelGroup. I’m using Fmod with UE4, and I code with blueprints but have no skills in code.

Unfortunately this cannot be done in blueprints, it can only be done in code but should be fairly easy to do.
Basically get a reference to the FMOD Studio System, see:
http://www.fmod.org/documentation/#content/generated/engine_ue4/programming.html

Then get a reference to the bus you want and use it to call lockChannelGroup:
StudioSystem->getBus(“bus:/yourBusNameHere”, &busPointer);
busPointer->lockChannelGroup();

https://www.fmod.org/docs/content/generated/FMOD_Studio_Bus_LockChannelGroup.html

hey Guys, a small question about this issue. I’m trying to do the lock thing, could you help me with the steps?

From what i read on the documentation I’ve gotten this far (in C#, for a reverb return):

FMOD.Studio.Bus busName;
FMOD.Studio.System sys;

start(){

sys.getbus (“bus:/BusReverbName”, out busName);
busName.lockChannelGroup;

}

What am i doing wrong?

Thanks!!

Firstly, if you haven’t already, you will need to get a reference to the studio system:

FMOD.Studio.System system = FMODUnity.RuntimeManager.StudioSystem;

Secondly, lockChannelGroup is a function not a variable:

busName.LockChannelGroup();

https://www.fmod.org/docs/content/generated/FMOD_Studio_Bus_LockChannelGroup.html

1 Like

ohhh of course, I didn’t assign the system, silly me.

Works wonders.

Thanks a lot Cameron!!

Is there any update about this bug I’m experiencing the same issue with Reverb time on convolution reverb. Currently running 1.09.02 version with Unreal engine 4.14.3 version.
Thanks in advance

This still isn’t fixed, I’m using the latest Steam Audio version with FMOD 2.01.05 and the latest Unity LTS 2019 version. The reverb still gets cut off… have you guys looked into it?