Limiting max output of a group

Just as the title says really. I’m looking to limit the max output of all footsteps sounds within a group so that one footstep sounds just as loud as, say, five.

I figured the limiter would do a grand job of this, but it only seems to want to boost volumes. I’ve settled the matter for now by tweaking a compressor, but this doesn’t seem the most elegant solution and it feels like this would be a common enough issue that there would be a handy tool available.

I’m not sure I understand why you are trying to do this. What problem are you trying to solve?

Just wondering if there was a neater way of limiting the output of a group

Without knowing what your goal is, there’s no way for us to know what advice would best help you achieve it.

For context, it’s extremely rare for someone to want to limit the output of a group. Doing so generally results in less-realistic output and increases the resource cost of the project without providing any clear benefit. We’re therefore uncertain why you’re trying to do it.

Are you trying to limit the overall output volume of your game? To save computational resources? To produce a specific and unusual audible effect? To reduce the apparent number of playing event instances? To simplify your workflow?

Ah, I suppose I didn’t say that I’m aiming to limit the output volume of the group.

But why are you doing trying to limit the output volume of a group? To what end? What benefit do you think it will provide to your game?

Hello! Bumping into this thread because I’m looking to do something similar.

I’m working on a drum rhythm game. I worked on the mix to make sure when the player hits a drum:

  • a drum sound is played in addition of the music track
  • the drum sound is well mixed with the music track, not too loud but clearly audible
  • adding the drum sound to the music track does not cause clipping

My issue comes when a player hits two drum simultaneously. I want to play two instances of the drum sound so there is an audio feedback for having hit two simultaneous notes, but just playing the instance twice breaks the mix because it’s much louder that a single instance and therefore causes clipping.

Is there a way to setup an event so the volume is set to a value for one instance, and a reduced value for two instances and so on? Other that setting up a compressor/limiter to be triggered by the loudness of two or more instance but not for a single one?

Well… An FMOD limiter effect would definitely be the easiest option, but if you don’t want to do that, there are other possibilities.

You could, for example:

  1. Automate the volume of your drum beat event on a global parameter, such that it’s loudest when the parameter is at its maximum value.
  2. Set that parameter’s initial value to its maximum value, and give it a velocity such that it gradually increases to its maximum value over time when it’s not already at that value.
  3. Place an “increment parameter” command instrument at the start of that event, such that it reduces the value of the global parameter by a small amount each time the event starts.

The result would be that each instance of the drumbeat event would reduce the volume of all instances of that event for a short while, but that the volume would return to its maximum value if no drumbeats were played for a while. This would ensure that if multiple drumbeats were played in quick succession, they would be quieter than if a single drumbeat was played in isolation.

Hi @joseph , is the number 3 (increment parameter) something you would suggest for handling multiplayer gun sounds? Because if 6 players are shooting with an SMG, the sound tends to heap up and get very intense. Likewise, if 10 enemies are attacking simultaneously.

Secondly, how would one link the increment parameter to the SMG group gain? Like what would you use as the target on the command?

In general, what would you suggest is the best way to handle this? For the meantime I have put a limiter on the Weapons group, and a sidechained compressor from weapons to music channel that ducks the music (Platform is WebGL, top-down shooter)

No. I would not recommend dynamically adjusting the volume of gunshot sounds based on the number of firing gunshots by any means in a multiplayer game.

This is because competitive multiplayer shooters use audio cues to convey important information to players about the positions of foes. The volume of a gunshot typically indicates to the player how far away the firing gun is, and thus whether they should consider it a threat and factor it into their OODA loop. If the volume of a gunshot also varies based on how many characters are firing guns at once, the volume of gunshots will not be a reliably accurate indication of the distance between the player and the gunshot, which could easily result in frustrated players reporting the inconsistent volume of gunshots as a bug.

As I said in steps 1 and 2 of that example, I would use the global parameter to automate the volume of the event, rather than a group bus. As I said in step 3, the target of the command would be the global parameter.

I would entirely avoid dynamically adjusting the volume of the event based on how many instances of it were playing, for the reasons I gave above. Instead, I would turn down the volume of the gunshot sound, so that those sounds aren’t as intense when they heap up. Sounds don’t have to be loud, after all; they just have to be distinct and audible.
Plus, spatialization will already ensure that only gunshots that originate very near the player will play at maximum volume. Gunshots originating from further away will be quieter, and thus will be contribute less to the overall loudness of all playing gunshots.