Cross fading between sounds i multi og scatter instruments?

Is there a way to crossfade between sounds in a scatter or multi instrument similar to the crossfade transitions on the random containers in Wwise?

Right now I either have the option of limiting the instrument to 1 voice, Which makes a hard cut when playing a new sound, or letting the old voices play through to the end when a new one is played.
What I want is to have a short smooth fade between the random sounds to use for stuff like procedural dialogue, but I don’t know if this is possible in FMOD.

2 Likes

Multi instruments aren’t the right tool to achieve this behavior. You’d be better off crossfading multiple instruments on the timeline, or using AHDSR modulation to ensure that each instrument fades out as the next fades in.

Thank you. The issue with that is if I have tons of small files for procedural dialogue, setting them up with a unique instrument with ADSH per sound is extremely tedious, and cross fading between them from some sort of random container would be much easier. Is there no solution to this in FMOD?

I tried making an example for you. Here I want to play random short “dialogue” sounds at a random speed. But because I cannot do a small crossfade between each sounds I either get clicks and abruptly ending sounds or I get too many overlapping sounds. Is there a solution I am not seeing in FMOD for this?

It looks like your sound snippets are all approximately the same length. If that’s the case, there may be a simple solution: Create a non-looping asynchronous multi instrument on the timeline, put an AHDSR modulator on its volume property, and surround it with a loop region slightly longer than the instrument’s trigger region. The result should be that the loop region regularly triggers and untriggers the instrument, playing both the attack and release of the AHDSR modulator each time, such that each sound played by the instrument is crossfaded with the sounds preceding and following it. (You may have to adjust the length of the loop region and trigger region to get the exact behaviour you want; just remember to keep the trigger region shorter than the loop region or the instrument won’t trigger more than once.)

This method won’t work with sound snippets of varying lengths because the time when the release period of the AHDSR modulator begins depends on the length of the instrument trigger region rather than the length of the currently-playing sound file.

Thank you Joseph! Yeah these were just some example sounds I could share, so having different lengths for the individual sounds would often be the case. Also I like having irregular intervals between the sounds, and the Scatter Instrument is perfect for that. But I don’t think that works with your workaround, since the scatter instrument would retrigger each time the loop region starts rather that using its own spawn function…

While it is possible to use a scatterer instrument for this, the issue is that the individual sounds spawned by a scatterer instrument are never untriggered. This means that behaviour that depends on being untriggered, such as the release period of an AHDSR modulator, will never occur - and so your playlist entries will be able to fade in, but will always end naturally rather than fading out. If you use a scatterer, the only workaround for this issue is to build the fadeout into each of the individual playlist entries, either by creating custom timeline automation curves within a referenced event or by baking the fadeout into each of your source audio files, and either option would require you to manually design the fadeout for each and every individual playlist entry.

Using a multi instrument avoids this limitation. You could still get irregular intervals between sounds by using multiple loop regions of different lengths, and assigning all but the longest of them a probability trigger condition.

I understand, thank you Joseph.
I actually managed to find a workaround for using Scatter Instruments. I tried using multiple loop regsions as you suggested, and it works, but it is just much less flexible than the scatter instrument in terms of tweaking the timing etc. Here’s a little video tutorial (also for future me):