VCA at low level cuts out sound

I’m having a problem with a VCA used for menu music level control in a game, in that when the level is set low enough, the sound completely cuts out. The level is still high enough so that you can hear the music clearly play and be silenced when the slider goes between two values. For example, on the title screen, at 8%, the music is still audible, but at 7%, it is not. In another menu screen where the music is processed and slightly quieter, the cutoff point is 13%, so it seems to be related to audio levels and perhaps some sort of culling system.

Looking at the meters, the music peaks at around -40dB when this happens. Other busses, such as the SFX buss, do not have this problem, as I clearly see the SFX still metering at around the -60dB mark as I turn it down more and more, and there is no point at which it suddenly cuts out.

I have a feeling that I’m doing something wrong here, but I can’t figure out what it is. This is what I have:

  1. An event which is triggered at the title screen game state change, which contains a command instrument. This instrument starts the event Radio.
  2. This Radio event is a looping event, containing a nested event, Track 01. This nested event just contains a single instrument and some markers to control where the track begins to play. The Radio event has FX automation present so that the music sounds different when different global parameters change, like when you move from the title screen to the main menu. Both of these events have 1 max instance, and are persistent.
  3. This Radio event is routed into its own Mixer Group, along with other events which are triggered on game state changes, containing similar command instruments to what I described earlier (although I think this is unnecessary).
  4. This group is the only thing assigned to the Music VCA.
  5. If I instead assign the Radio event directly to the VCA, without the group, the problem persists.
  6. If I assign the master bus to a Master VCA, or the Music bus to a Master VCA, the point at which the cutoff happens changes. For example, if I set the overall level slider in game (assigned to the Master Bus) to 50%, then the cutoff point “value” is doubled (so if normally the sound cuts off at 8%, now it will cut off at 16%, as the Master VCA has already lowered the volume of the Radio event).

It’s this correlation between different levels being set by different VCAs that makes me think the sound is being culled, but I’m not confident that’s correct, and I’m not sure what else I can do to try and fix this problem.

In the Project Settings in UE5, the voice virtualisation is the default value of 0.001. When profiling in FMOD, the only difference I see when I change the volume slider in game around the cutoff point is the the number of active voices changes from 1 to 0 under the Voices (Total) category, and the track stops metering.

Any assistance in working out what I’m doing wrong would be absolutely fantastic - thank you in advance!

As you say, it does sound very much like your game’s quieter channels are being automatically virtualized - though since you haven’t changed the vol0Virtual threshold, it’s unclear why this might be happening.

If you record a profiler session of the project, how many active voices exist when you notice this issue occurring? I ask because if the number is high enough and your maximum number of software channels is set low enough, the former may be exceeding the latter, resulting in the quietest channels in your game being virtualized even if they’re above the vol0Virtual threshold.

Thanks for the response. Unfortunately this isn’t it - it happens on the title screen when there is only a single event playing (although with a couple referenced events inside it). The CPU mixer total value hovers around 2%, there is one active voice, and on the title screen there are four active instances all shown on the profilers master track.

I did earlier have this same problem, where one or two nested events which were part of this radio system were controlled by one VCA. Of course, when the VCA was pulled down, It was pulling down the levels of multiple events or buses, and these level drops stacked so I could see why the sound would suddenly cut cut add some value like 50% (even if it wasn’t culled because it was actually low level - It was still very audible before being culled but it made sense that the level drops were stacked and caused the cull).

Now though I think I have fixed these routing issues, but I’m still seeing a similar culling problem. Fortunately the problem happens at a much lower volume level (8% rather than around 50), but it still seems to be a similar problem tied to the current audio level. I just can’t see what else I can do to simplify it all and rule anything else out.

It does sound a lot like something that alters your event’s volume is disproportionately affecting the audibility calculation of that event’s channels, causing the event’s channels to be virtualized when the event is still audible. I recommend going through the list of things that affect the audability calculation listed in that link to see if any of them might be the culprit.

You might also want to try comparing the affected event to other events in your project that aren’t affected, to see what the differences are. Doing so may lead to you to discover what feature of the event is causing it to be affected in this way.