FMOD Unity integration processing rate

#1

Is there a way to know at wich rate (=how many times in a single second) FMOD Studio updates its internal processing when using the FMOD Studio Unity Integration?
I’m producing some complex Motorbike soundFX using many static rpm audio assets altered by Autopitch modulation in a crossfade fashion.
Since samples are almost 20 in a 13K range, crossfade between instruments is very quick over the RPM parameter.
The problem is that using unity integration the pitch variation on RPM is not smooth, I can hear artifact like “steps” in updating the RPM. I have tried to smooth the RPM parameter using a lower seek speed but the sound artifact persists
I suspect this is connected to the Update rate of FMOD in processing hi-level logic, so it would be nice to know wich is the update rate of Studio in the standard unity integration (is it locked to the Unity FPS processing?) and if this can be changed
Thanks

0 Likes

#2

FMOD runs at it’s own rate, separate to Unity, which by default is 20ms: https://fmod.com/resources/documentation-api?version=2.0&page=studio-api-system.html#fmod_studio_advancedsettings

This can be changed but will require modifying the RuntimeManager to set the Studio’s Advanced Settings at initialization.

0 Likes

#3

this sound very interesting! Can you explain more about the change in RuntimeManager in order to lower this value to 10ms ?
Thanks

0 Likes

#4

You can potentially reduce latency by changing the “Studio Update Period” to 10, but that may cause scheduling problems if you have many or complex events playing.

As for implementing this, you would need to do this after the Studio System has been initialized in the RuntimeManager.cs.

Eg.

    FMOD.Studio.ADVANCEDSETTINGS studioAdvancedSettings = new FMOD.Studio.ADVANCEDSETTINGS();
    studioAdvancedSettings.studioupdateperiod = 10;
    result = studioSystem.setAdvancedSettings(studioAdvancedSettings);
0 Likes