Good day! We’ve found a problem with bank files generation. We use several PCs (Windows/Mac) with same version FMOD Studio to generate bank files. And recently we’ve found that all computers generate binary different files. It causes reuploading banks every time to VCS, even if initial banks data isn’t changed. Is it a bug or is there a way to fix such behavior? We checked two different versions of FMOD Studio (2.01.04, 2.02.07), behavior is the same.
Is it definitely a case of no two computers generating the same binary result? I would like to take a look at these banks if I can, can you please upload them to your FMOD Profile?
Can you also please share a screenshot of your Compression Formats and Platform Settings so I can try to reproduce this issue with your settings?
Yes, no two computers generate the same binary result.
I’ve uploaded two bank files to profile. Here is screenshot of the settings: Screenshot - afdfce1f10a239cb6cf55d425d5e399e - Gyazo
Thanks for sending that over, I can see what you mean now. We have found a couple of variables that will produce different results:
- Resampling on different OS: There was some minor variation in banks between Mac and PC when resampling was required; using a 44.1kHz wav and building banks to 48kHz FADPCM for example. This is something we will be investigating more closely, but you should be able to workaround this by matching your assets’ sample rates to your banks’ sample rate.
- Compressed Assets on any OS: A project using only uncompressed audio files (such as wav) will produce a deterministic result on different computers, but compressed audio formats (such as mp3) may produce a different result due to variations in encoding and decoding that are beyond our control. You can workaround this by only using uncompressed audio formats for your assets.
- Compressed encoding on different OS: Differences may occur between banks built on Mac and PC when built to a compressed audio format (Vorbis). You can workaround this by changing your encoding format to PCM or FADPCM.
That was a lot of information, so here is a summary of the results which may be more clear:
|Test||PC 1||PC 2||Mac|
|Resampling (44.1kHz -> 48kHz)||Same||Same||Different|
|Compressed Assets (mp3)||Different||Different||Different|
|Uncompressed Assets (wav) -> Uncompressed Encoding (FADPCM)||Same||Same||Same|
|Uncompressed Assets (wav) -> Compressed Encoding (Vorbis)||Same||Same||Different|
And if you want banks to be identical between Mac and PC you can do the following:
- Ensure all your assets are exported as 48kHz wav files
- Switch to the FADPCM or PCM encoding format