I’m trying to make music stingers that align to beats. The way I’m doing it is to create a parameter “stinger” on the music, and put an async instrument that covers value 0.5 ~ 1 in the “stinger” parameter sheet. I set the quantization of this async instrument as quarter note.
In addition, to make sure I can trigger the stinger multiple times, I added a seek velocity to the “stinger” parameter as -4.00/s. So that the parameter goes to 0 as fast as possible.
(Question 1: Am I doing the right thing? I really wish Fmod Studio could have “trigger” type parameter similar to Wwise that auto reset)
Now I find that single and multi instruments behave differently while waiting for beats.
Consider the following things happen in order:
a. Set “stinger” parameter to 1.
b. Instrument activates and wait for the next beat.
c. “stinger” parameter drops to 0.
d. Next beat comes.
Case 1: When the instrument is a single instrument, when c. happens, the instrument keeps activated and will trigger on the next beat.
Case 2: When the instrument is a multi instrument, when c. happens, the instrument is no longer activated, and will not trigger on the next beat.
Is this intentional or a bug? How can I correctly implement a stinger with multi instrument?
Yes, your method of setting up a stinger trigger is correct. This is the same setup used for the Music/Level 01 event in our examples project.
We’ve investigating this and it looks like this inconsistent triggering behaviour might be to do with streaming assets. With the presence of streaming assets, our lookahead functionality appears to apply to the triggering of all instruments. This requires a bit further investigation so we’ve logged in bug in our tracker system. Thank you for bringing this to our attention.
However, in regards to the multi-instrument - could you please ensure that “Cut” is not enabled? When enabled it will untrigger an instrument once its conditions are no longer met. The multi and single instruments should trigger in the same way.
Thanks for your suggestions. Confirmed that Cut is not enabled. I tried to turn off streaming for all the assets used in my event. However it seems the behavior is the same - When the instrument is a multi instrument, if the trigger value drops below 0.5, the instrument will not trigger on the next beat.
You are correct; we did some more investigation and found another issue where the multi instruments behave differently from the other instruments. We have raised this and will rectify in a future version.
In the meantime, you can work around this by creating an event instrument with the same quantization and placing the multi instrument inside this referenced event. The event instrument will queue up and play at the next specified beat when its conditions are met.