Async snapshots applied via mixer group?

Hey there, friendly neighborhood FMOD team!

I’m having trouble getting a sidechain modulator to engage a snapshot for our game’s VO. I found this forum post from early 2022 and followed the steps exactly but cannot get the snapshot intensity to budge (both audibly and visibly; I’d be less stressed if I heard a change but didn’t see one, but I’m failing to achieve either result).

Additional info:

  • I can confirm that VO is routed to the correct relevant group and that the meter responds to the incoming audio signal.
  • Playing the snapshot before playing the VO event (to emulate the “always on” behavior described in the original thread) does not produce any change.
  • The snapshot scopes in VCAs rather than the main mixer groups, but as I understand it, that shouldn’t have any bearing on it failing to respond to the sidechain modulator.

I’ve provided a couple screenshots to show my work :nerd_face:


What am I doing wrong?? We’re running 2.02.07, if that helps the diagnosis.
As always, thank you for your time and help in advance!

Drew

Hum, I can’t make it work either!

Wow! When even Alci can’t make something work, it usually means it’s a bug :laughing: Thank you for checking it out, Alcibiade!

I’ll still wait for FMOD Support to confirm it’s a bug, but in the meantime do you have any suggestions for a way to make snapshots asynchronous for VO in different languages? We’re using Programmer Instruments along with a snapshot on the timeline, but of course if the snapshot isn’t the right length for other languages, it’ll either stop short or hold on longer than intended. If this sidechain method (from the linked thread) worked correctly, that would have been our perfect solution. I’m still hoping I did something wrong or missed a hidden step somewhere :person_shrugging:

It looks like there’s a bug that prevents sidechain modulators from working when they’re attached to snapshot intensities. I’ve added this issue to our bug tracker, so it’ll be fixed in an upcoming release of FMOD Studio.

Unfortunately, I haven’t been able to find any simple workaround for this issue that you can use in the mean time; while sidechain modulators do work for other properties, when attached to a volume control they can only be used to duck the volume, not to boost it.

Thanks for bringing this issue to our attention.

While I can’t think of any way to work around this issue through FMOD Studio, you could potentially make it work through code by monitoring the event instance’s callbacks to tell when the dialog event finishes playing, so as to stop the snapshot instance at that point.

Hey there Joseph!

I’m very lucky to have a brilliant engineer on this team. He found a workaround. A lot of it is roughly the same procedure as suggested in the original link I posted, including making sure the relevant Snapshot(s) are set in-engine to “always play,” as well as making sure that the Snapshot’s Intensity macro is set to 0% first. The main difference here is that instead of using a Sidechain modulator directly on the Intensity, we’re using a Global Parameter’s Automation curve triggered (via Sidechain modulator) by the Mixer Groups’ signals.

  1. Create a new Global Parameter & keep the default settings (in our case, we made 2: OpenWorldVOLevel & MissionVOLevel).

  2. In the Mixer’s Overview pane (right side of the screen), select your new Global Parameter. When it appears in the Parameter pane (bottom of the screen), right-click the level slider and add a Sidechain modculator.

  3. Add a Sidechain to the FX Bus of any Mixer Groups whose volumes you want to affect the relevant snapshot.

  4. Select the relevant snapshot and add Automation to the Intensity macro. Hit Add Curve and select your new Global Parameter. Make your first point at 0, and add a second point at 0.1 at 100%.

  5. Back in the Sidechain modulator (the one applied to the Global Parameter), click Inputs and add the Mixer Groups you added Sidechains to in Step 3. Set the Amount to the value you want your snapshot’s Intensity to stay at when activated.

  6. Play around with the Attack and Release times to find what works best for your scenario.


Hope this helps anyone else running into the same issue!

1 Like

Ah, that’s a brilliant workaround! I’m glad to hear you were able to find it.