Suggestion: steal release time

I think FMOD should have something similar to “Voice Steal Release Time” in UE4 concurrency settings. I found it super useful for a fantasy machine gun using a very long tail sound: with the polyphony (max count in UE4) set to 1, steal oldest, and the steal release time set to 0.3, it insures a very neat rafale shooting without abruptly cutting the previous sound, and allows for the long tail to develop only on the last sound. I think this option should be part of the scatterer instrument and the event macros.


Ok, I’ve read an old answer from @joseph somewhere in the forum, saying the stealing wasn’t meant to be used in a creative way, so a smooth cut will not be implemented. I disagree, but why not.

However, a reason to implement it is because it’s in UE4 native audio. I mean, native audio in UE4 has awful behaviors! I pulled my hair out for hours trying to do something as simple as seamlessly transition from an music intro to a music loop. It seems to be almost impossible to do, even so The Legend of Zelda implemented this behavior in it’s main theme in 1986 (and probably before that, I can imagine).

By the way, have you seen this part where the UE guy talks about FMOD? His embarrassment is hilarious:
But I should admit UE4 have more option than FMOD in regard to attenuation, spatialization and concurrency, steal release time being one of those.

If you want to achieve a smooth fade-out of a sound when playing a new instance of a sound, there are already ways to achieve that behavior in FMOD Studio, using combinations of AHDSR modulators, event instruments, trigger conditions, and command instruments.

Stealing is so called because it allows you to “steal” one voice or event instance in order to use it for something new. Gradually fading out one event instance or voice while starting to play another isn’t stealing the old instance, but playing two instances simultaneously; no stealing takes place. Failing to steal an instance when it is necessary to strictly limit the number of instances would undermine stealing’s usefulness as a tool for resource management.

That being said, I do understand that you want the start of one sound to trigger the fadeout of a different existing sound, and that you want a feature that allows you to achieve that behavior more conveniently to be part of playlist instruments and event macros. I’ll add that suggestion to our feature/improvement tracker. We won’t change how stealing works for the reasons I’ve already said, but we might be able to add (for example) a different feature that works in parallel to stealing and does what you want.

1 Like