Feature request : Command instrument Tick

Hi FMOD Team, Hi everyone,

I’ve been improving our dynamic music system recently. And due to our constraints, I had to implement a system inside of our music events to be able to sustain it for a while before stopping it.

You could argue that this is something that has to be done on the code end, but since FMOD gives the tools, I don’t think it’s a bad approach.

Here’s the overall idea : the music system is a mix of horizontal and vertical sequencing.

There are three intensities divided in 4 values : 0 = stopped. 1 > 3, playing at three different intensities.

When the music director (our code) drops below 1 (music expected to be stopped), the music is entering a sustain loop which lowers the soundtrack volume, to give the gameplay a bit of room before stopping it. This allows the music director to go above 1 during that period which will make the sustain section transition, which restores the volume back to normal and re-enter the 1/2/3 intensities loops (and resets the sustain parameter).

The way I did that to have a consistent sustain before stopping. No matter where the playhead enters the sustain loop, is by making a command track updating a parameter called “SustainMusicEnd”.
This track, as shown in the screenshot above, has a command instrument every 8 measures adding a delta value of 0.3 everytime.

As you can see, the command track gets a bit crowded :upside_down_face:

So my question is, would it be possible to consider this in the command type :

Add :

  • “Tick parameter”, which will feature 4 parameters:
    • Target
    • Delta value
    • Quantization (time or tempo)
    • Quantization value ( delay interval or or quantization interval )

Which would allow us to put a single command instrument in a track, and as long as the playhead is on it, the command instrument will tick based on the parameters we defined.

That would ease the implementation process and probably allow all sorts of fun tricks… I suppose? Or maybe I am the only one with a weird brain doing that sort of things? :wink:

So, if I understand correctly, you want a command instrument that functions like an increment parameter command instrument, but re-triggers itself at regular intervals as long as it remains triggered?

Have you considered other means of achieving this behavior? Using seventeen near-identical command instruments is obviously sub-optimal, but what about (for example) using a single command instrument, giving it a parameter condition, and attaching an LFO modulator to the relevat parameter’s value such that the parameter’s value meets the command instrument’s trigger condition at regular intervals? You’d get the same behavior using only a single command instrument, instead of needing the seventeen of them that you have in your screenshot.

Another method that would allow you to use a single command instrument is adding a seek modulator to the parameter’s value, so that it ramps to new values gradually rather than jumping instantly.

Another option would be to use automation to control the volume, potentially inside a transition timeline. Automation is the classic way to gradually ramp property values, and can be combined with modulators as well if needed.

Do any of these alternative ways of achieving the same behavior work for your case?