Hey everyone,

I haven’t been able to find an Fmod tutorial that discusses how to smoothly play back music loops so as to contain the natural decay and reverberation overtop of the next loop in the music. I am referring to the post-exit region of a music segment that would contain the reverb/decay tail for smooth looping. While the post-exit region is still playing of segment 1, you’d also have segment 2 playing.

I am referring to what can be done in Wwise:

Is this also possible in Fmod? If anyone can either explain here, or simply point me to a good resource, I’d be very grateful!

  • Joseph Harvey

    There are multiple different ways to do this in FMOD Studio, but I’m not sure which is best for your project. Could you tell us in more detail what you’re trying to achieve?

  • Joker Red

    Sure. I would like to set up a project where there are many looping sections where when you exit that particular section, it plays the reverb/decay of the exited section.

    So, for example,

    Track A is playing in a loop.
    A parameter switches the loop to start playing Track B.
    Track B plays out as Track A’s natural decay (in the wav file itself) also plays.

    What would be ideal is if at any moment in the Track, when the parameter is switched, Track A will fade out as Track B comes in. I am thinking something like with the ADSR modulation, but with looping music tracks.

    The thing I’d like is for there to be no audible pops when switching loops, or an awkward feel to the transition.

    Wwise does this very well. I am sure Fmod must be able to… just doesn’t seem to be that many good video tutorials out there that can demonstrate it.

  • Matt Tracy

    Hey Joker Red, did you ever accomplish what you wanted to? If not, I think I have a suggestion. If it doesn’t solve your issue, it should at least get you started in the right direction

  • Joseph Harvey

    @MattTracy If you have a suggestion, please do post it as an answer! Having multiple answers increases the chance that future readers of this page will find the insight they need.

  • Joker Red

    Hey Matt. Yes, Joseph helped me. He is a lifesaver!

  • You must to post comments
Great Answer

This is fairly simple to achieve in FMOD Studio.

At the time of writing, the easiest method is to use multi sound modules that are not set to loop. Multi sound modules that are not set to loop do not cut off when existed by the cursor, and so continue playing their currently playing content until it reaches its natural end.

The specifics will vary depending on your project’s needs, but because you want your tracks to loop when not transitioning, you’ll probably want to place them on the Timeline rather than on a parameter, so that you can use loop regions to ensure appropriate looping behaviour. As a result, you’ll also have to use transition markers or regions with parameter conditions to control the timeline cursor, rather than triggering the sound modules using parameters directly.

Upcoming versions of FMOD Studio will decouple the cutoff behaviour of sound modules from their looping behaviour, making this process a little simpler.

  • Joker Red

    Joseph Harvey, you are a total lifesaver. Thank you so much. This does exactly what I want, and I cannot thank you enough for this. Seriously, you’ve saved me a mega-headache. I actually solved this thanks to you right after posting, but felt I should log back on just to say a huge thanks.

    So yeah, just for other users out there, definitely this is the way to go. Output your tracks from Logic (or whatever DAW you use) with the reverb tail attached for your loop. Throw that into an Fmod multi-sound module (the name is a little bit deceptive here, since there is only one sound in it), make sure you got the tempo marker correct, and set a loop point around that wav file, excluding where the tail would be. It will play out the tail when looping, and beautifully transition into the next loop established by the parameter. You can also automate the ASDR too if ya want.

    FMOD is a wonderful tool.

  • You must to post comments
Showing 1 result
Your Answer

Please first to submit.