Skip to main content


Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: foobar2000 v2 x64 and 32 bit integer audio (Read 590 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

foobar2000 v2 x64 and 32 bit integer audio

SDK notes for fb2k v2 does state (
64-bit builds of foobar2000 have audio_sample defined to double (64-bit float), contrary to 32-bit in legacy 32-bit builds.
It only allows bitexact passthru of exotic formats and valid results of Binary Comparator with such formats.
I guess it is 32bit integer meant by "exotic formats".
I tried to convert 32 bit integer WavPack and FLAC files to wav with auto bitdepth in x64 fb2k v2 beta 10 and resulted files are 32 bit float. And warning about lossy handling of 32 bit integer doesn't show up in this case despite it is enabled in advanced preferences. Also integrity verification for 32 bit integer FLAC files reports md5 mismatch. But for some reason it works correctly for 32 bit integer WavPack. And for WavPack it works correctly even in 32 bit version of fb2k.
So, does internal audio processing in x64 fb2k v2 really works as expected?

Re: foobar2000 v2 x64 and 32 bit integer audio

Reply #1
The Converter currently assumes 32-bit to mean float. You'll have to wait for an update.
WavPack decoder must have its own internal MD5 computation, otherwise 32-bit foobar2000 would not be able to compute the checksum correctly.
Internal audio processing does work properly, this is just a simple conversion issues. I actually had the same bug in my Audio MD5 component, the helper SDK function to convert from internal format to original format isn't updated to handle 32-bit integer source.


Re: foobar2000 v2 x64 and 32 bit integer audio

Reply #2
What parts of the player are currently float64 in the beta and which are not?
I've converted a bunch of integer 32-bit WAV files to WavPack with fre:ac, and later converted those to FLAC 1.4, and, for short, I'm now trying to verify the conversion went alright, which I'm slightly suspicious of.
Testing a handful of the files, foobar's converter on automatic bit depth, still outputs float32 WAVs.
Also, the verifier gives me an OK on the WavPacks but a wrong MD5 on the FLACs.
fre:ac converts both to identical WAVs (after accountinf for tags).
So does the binary comparator now work with float64 (or can it at least do integer 32) and how can I verify this?

Nevermind that: I converted one fo the files to float32 without dither and compared to the int32 original and the comparartor did point out a difference.