I’m using Fmod Studio 2.03.05 and wanted to know if I’m missing a trick. There is a time delay available for single or multi instrument clips, but this is not automatable via a parameter like other variables are. Is there a way to automate a time delay using a parameter over distance or another parameter?
The only way I’ve found so far to do this, is by adjusting delay time over distance on a delay effect. But this didn’t seem a very efficient method at rumtime for CPU usage etc.
It feels like events should have a delay time option on the parent level or similar?
No. We assume that if your code plays an event, it’s because you want that event to play immediately. If you want an event to play later, your game’s code should play it at that time.
To explain why this is the case, you must know that processing a sound takes time. This means that it is physically impossible to begin playing a sound in the same moment that that sound is triggered. There is therefore always be a small delay between the command to play a sound and the sound actually coming out of your speakers. We call this delay “scheduling delay,” and while we have optimized it to be as small as possible, we can’t reduce its length all the way to zero.
If it were possible to control how long after the command to play a sound was issued and the sound actually began to play, it would be possible for the value of the parameter controlling that delay to change during the interval between the command and the sound actually playing - and that would mean the sound might suddenly need to be scheduled immediately or in the past, both of which are impossible, as they would violate scheduling delay. This means that automating delay would be unreliable, as it would often not result in sounds playing when expected, and therefore not useful.