Refreshing externally trimmed audio file resizes trimmed single instrument

I had an audio file of about 21s length and used it in a single instrument which I resized, so it only plays the first few seconds of that audio file.

Now that I’m optimizing bank sizes, I trimmed lots of files like this down to the length which I actually use. So I trimmed the file to the first 3.7 seconds which are actually used in the instrument.

When I refresh the asset in Fmod Studio, it resizes the single instrument by the same factor by which the audio file was externally trimmed. So the single instrument was shrunk from 3.7s to about 0.6s. Instead, I would have expected the instrument to only resize if the trimmed audio file is now shorter than the instrument length.

Is this a bug or by design?

Im on 2.03.07, Windows.

Start offset was scaled too. Maybe the change in the xml files illustrates the behaviour:

This isn’t a bug. It’s not perfect, admittedly, but there’s very little we could do to improve it.

The sad truth is that there’s no easy way for FMOD Studio to guess how you might want a resized synchronous instrument to be affected when you refresh its asset, because there is no way for us to know why that instruments was resized. There’s countless good sound design reasons that might lead to an instrument being resized, each combination of which would require a different approach, and there’s no way for us to know which of those factors were part of your decision-making process.

So, we settled on the current behavior. Its main virtue is its consistency: It affects every synchronous instrument that makes use of a refreshed asset in the same way, without exceptions. This consistency of behavior makes it easy to notice, understand, and take into account when refreshing your project’s assets - which is much better than the behavior being arcane and rife with easy-to-overlook exceptions.

If you have any suggestions on how we might improve this behavior, please let us know.

Thanks for explaining!

I understand that it is extremely challenging to settle on a behavior which is intuitive for all.

I guess my main point would be that I was caught off guard that “Refresh Assets” changes events. Now that I know, I can scan the changed xml files in git and discard the instrument resizing changes that I don’t want.

For what it’s worth, I’d prefer to have the instruments only resize if they previously matched the length of the audio clip. Or have an option to not have the instruments change at all when refreshing assets.

Tried to come up with what scenarios there could be…