Cancel overlapping sound (smoothly)?

I have a sword swing that can be triggered pretty rapidly, and I want it so that if it plays again, it cancels the previous one by very quickly fading it out. Basically so the tail of the previous one isn’t trampling on the new one, and you get a nice clean transient. BUT, if you don’t swing again, the sound is allowed to fully play out.

I tried using max instances, but there doesn’t seem to be any way to control the envelope of the previous sound, and it’s a really abrupt cut. I also tried playing with the AHDSR and a Command Instrument that stops the event, but that doesn’t seem to allow the full sound to ring out. Thanks for any help.

I’ve already suggested a steal release time, exactly for this kind of cases. You should give a +1.

In the meantime, why not simply stopping the previous sound in the game code when a new one is fired, with a release (AHDSR) set on the event’s volume?

1 Like

Yes, that’s exactly what I’m looking for! Until then, I hate to ask this because I’m not a programmer, but what is the best way to go about that? I mean to specifically tell it to stop the previous sound rather than…stopping itself.

You have to stop only the event instance you want. What’s your game engine?

We’re using Unity. I don’t have access to the actual engine, only the FMOD side of things. Whenever possible, I like to give the programmer as easy a load as possible by doing everything within FMOD. The programmer is very new to FMOD, so we’re kind of figuring some of this out as we go.

It’s impossible within fmod to have an instance react to another, instead it stealing options (which are limited, as we said).
I still think this has to be done by the game code. Fortunately, it’s trivial.