We’re running into some issues in our project where certain sounds are being muted, probably due to playing too many sounds. We’re currently working on Windows and using FMOD 1.10.02.
FMOD Studio is being initialized using FMOD_INIT_VOL0_BECOMES_VIRTUAL and setting settings.vol0virtualvol = .001f as we saw somewhere in the documentation. The game has some torch fires scattered throughout the dungeon and they’re all created and start playing at the creation of the level. The volume is controlled on FMOD Studio by sending a parameter that specifies the distance to the camera (so there’s never any volume control in code).
I created a very small snippet of code that replicates this issue: if I create ~32 torches, set their parameter to a distance where the sound should be completely silent and then try to play some other SFX sound, the SFX sound just won’t play.
From our tests, it’s starting to look like the final sound volume (after applying parameters) isn’t being taken into account before virtualizing out the sounds, but instead the raw sounds (using louder SFX sounds makes the issue disappear), could that be it?
In case this helps: we’ve been using the Studio Profiler feature and noticed that we had -80dB on level but still a high number on Voices (total). While testing we ended putting vol0virtualvol to 0.5 and then the torches did seem to get virtualized (but also a lot of the more silent sounds).
- You must login to post comments
There are two virtualization methods in play in this situation – the low level virtual voice system will virtualize the low level channels based off their peak volumes and other settings, whilst the virtualization stealing behaviour of events will go off distance attenuation and the volume settings on the event, its master track volume, and other volume settings.
In order to understand this issue a bit better, could you please provide the small test you created?
Sorry, I just realized the format of this site, I should have probably made a comment here instead of adding a new answer below.
To keep it all in one place: the code I used for the test was https://pastebin.com/fDdkNMw5
As you requested, we made a small project that reproduces the exact issue. You can download both the fmod project and the .bank files here: https://drive.google.com/file/d/1bhwSknAwXXcWobGdBxwIXQd-X-m-y32p/view?usp=sharing
Thanks again, Richard
Thank you for providing the project. I can see the issue now.
This is a known issue where the FMOD Gain plugin is *not* counted towards the audibility calculation for virtualizing low level channels (ie. instruments).
So in the current setup, the low level is thinking the torch event instances are louder than the jump event instances and so the jump event instances’ low level channels are being virtualized instead.
We are currently working on a fix for this issue in a future release.
In the meantime, you can move the automation curves from the FMOD Gain effect module to the volume fader on the master track. In my tests, this works with your project & repro setup.
You can bulk edit multiple events to move these automation curves. Multi select the events in the events browser view and add automation (with the parameters needed) to the master track’s fader. Copy the first curve from the FMOD Gain effect and paste it into the automation curve. Then right click on the curve and select “Copy Curve to All”. Keep in mind there is a known bug where pasting a curve will cause the list of automation curves in the deck to default back to the first one after pasting.
Thank you so much Richard, that was very helpful. We’ll be keeping an eye out on future releases!
- You must login to post comments
Please login first to submit.