Mixer snapshot/reverb blending question

Hi there.

We are trying to use mixer snapshots to switch between exterior and interior ambiences and are having a couple of issues with the implementation.

We want to be able to fade between the ambiences reasonably quickly (inside to outside spaces etc) and are using a combination of convolution reverbs to do the job.

First issue:
We are using AHDSR to automate the intensity of the snapshot so there is a smooth fade in and out of the snapshot. Upon starting the event, the snapshot intensity attacks as you would expect (smoothly transitions), however upon stopping the event the release is not applied causing the event to immediately stop (it should be fading out). This occurs even if FMOD_STUDIO_STOP_ALLOWFADEOUT is passed as the parameter to the stop() function. Any ideas why this may be happening?

Second issue:
When we transition between the interior to exterior spaces, there is an audible pop when the snapshot is being triggered in Unity - Almost like live switching between reverbs in a daw situation, even though the slow fade in (attack) part of the of reverb begins visibly low in volume. Is this a known thing?

Fmod Studio version 1.07.03, Unity 5.3

Thanks for your time

Ryan

There is a convolution reverb bug fix in 1.07.04 that may solve your problems.

Thanks for the answer. We have recently updated to 1.07.05 having seen the convolution bug fix in 1.07. 04, but this didn’t fix it (2nd issue). Also it doesn’t address the AHDSR issue of the reverb not fading out on the stopping of the event (1st issue).

Im using AHDSR envelopes to control the fade in/fade out of an overriding mix snapshot with a convolution reverb, and it seems to be working ok for me (triggers are box triggers in UE4, on actor begin/end overlap). Are you adding the envelope to the Intensity parameter on the master bus of the mix snapshot? The pops you’re hearing are likely the fade out not occurring and the reverb shutting off immediately. Not sure why this would be happening, hopefully someone from Firelight can respond. (Im on V1.07.03)

1 Like

How are you triggering the snapshot exactly? Is it:
a. Being triggered directly (e.g. the game creates an instance of the snapshot, then calls start / non-immediate stop on that instance)? I have tested this in the Sandbox in 1.07.03 and it is working.
b. Being triggered from within an event, using a snapshot module? If this is the case, it may not work as you expect, as I don’t think the AHDSR will play to end.

1 Like

Hi Patrick. SORTED! :slight_smile: We were using example B – triggering through an event snapshot module but after seeing your above post we now are using example A (Snapshot Instance) and it totally works correctly. The decay part of the AHDSR is working as expected and sounding great in the game. Thank you for the solution.

Just wondering if there are any plans to integrate the working AHDSR decay into event snapshot modules in the future? I really Like the idea of being able to put a load of blending snapshots in one event…

Anyway, thanks for saving our bacon once again.

Cheers! :slight_smile:

Hi Ryan, currently modules will not play out their release when the event is stopped, however things that are created with the event instance (e.g. effects, bus volumes, parameters) will have their AHDSR play out the release before the event dies. This is something we may revisit in a future release.

For the moment, you could still have this work using a technique mentioned here: http://www.fmod.org/questions/question/how-would-you-do-a-flamethrower-loop/. Basically, you use AHDSR on the parameter value, and automate the snapshot module’s intensity across the range of the parameter. Remember, you can test out the non-immediate stopping behavior by holding down the stop button.

Hi Jesse. Thanks for your reply. We are applying the AHDSR envelope to the intensity of a reverb return volume inside of a mixer snapshot. What we are finding most strange is the fact that the event fades in correctly but does not fade out. Also In FMOD Studio, the behaviour is replicated (Reverb effect instantly cuts out instead of fading out when stop button is held ) which leads me to believe the issue is within FMOD and not in Unity.

In other events, we have successfully implemented AHDSR volume automations correctly, so unless the implementation is different within Unity, we’re at a loss as to why it is not working correctly.

Which event or snapshot is displayed in the editor when you’re clicking and holding the stop button?

Hi Patrick. SORTED! :slight_smile: We were using example B – triggering through an event snapshot module but after seeing your above post we now are using example A (Snapshot Instance) and it totally works correctly. The decay part of the AHDSR is working as expected and sounding great in the game. Thank you for the solution.

Just wondering if there are any plans to integrate the working AHDSR decay into event snapshot modules in the future? I really Like the idea of being able to put a load of blending snapshots in one event…

Anyway, thanks for saving our bacon once again.

Cheers! :slight_smile:

[Just to tidy up this answer to some extent, I’ve placed my comments in a new post.]

How are you triggering the snapshot exactly? Is it:
a. Being triggered directly (e.g. the game creates an instance of the snapshot, then calls start / non-immediate stop on that instance)? I have tested this in the Sandbox in 1.07.03 and it is working.
b. Being triggered from within an event, using a snapshot module? If this is the case, it may not work as you expect, as I don’t think the AHDSR will play to end.

[Problem was the snapshot was triggered via method B. Switching to A fixed things.]

Further details:

Currently modules will not play out their release when the event is stopped, however things that are created with the event instance (e.g. effects, bus volumes, parameters) will have their AHDSR play out the release before the event dies. This is something we may revisit in a future release.

For the moment, you could still have this work using a technique mentioned here: http://www.fmod.org/questions/question/how-would-you-do-a-flamethrower-loop/. Basically, you use AHDSR on the parameter value, and automate the snapshot module’s intensity across the range of the parameter. Remember, you can test out the non-immediate stopping behavior by holding down the stop button.

Hi Patrick,

Could you describe method A a a bit more? For the snapshot being triggered directly. Do you mean this would be done via a programmer? And let’s say I have a snapshot for a pause menu that will set the volume lower for multiple group busses : SFX, Voices, etc. Do I need to place an AHDSR automation (fade in - fade out) on each group buss present in my snapshot?

From the manual it says that AHDSR is working on snapshot modules so I got confused like other.

Thanks!

Hi Steve,

To answer your first question, yes, this is in the case that the snapshot is triggered by the programmer. It is important to keep in mind that snapshots can be played in the same way that events are, using the same APIs. You can right click a snapshot in the browser to copy its path (e.g. “snapshot:/New Snapshot”).

In terms of the AHDSR, you should only need to apply a single AHDSR to the snapshot’s intensity property. When you select the snapshot in the mixer, you should see the Intensity dial in the bottom right (in the deck), under the Macros section. Adding an AHDSR to the Intensity property will cause the snapshot’s changes to blend in (as the snapshot is played) and blend out (as the snapshot stops) smoothly.