Skip to main content

Notice

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: 32 bit vs 64 bit foobar (Read 3058 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

32 bit vs 64 bit foobar

Hi,
I would like to ask you what is the technical/operational/output difference between 32 bit and 64 bit FB:

If I understand it correctly 32 bit FB uses 32 fp operations on all (?) actions. Does it mean that if I want to convert 16 or 24 bit file to corresponding file of another format (flac to wav or the other way round) - it goes through some 32 fp process (if so: why use 32 fp process to do a 16/24 bit conversion?)? Does it mean that changing volume (including applying RG or HDCD volume halving) involves 32 fp operations? Does it mean that it is impossible to play 32 bit integer files losslessly?

And concerning 64 bit version. Does it use 64 fp operations on (all) actions - including volume and converiting files (that last one is not yet implemented as far as I know - when will it be)? If 32 bit FB has 32 bit output why does 64 bit FB does not let choose 64 bit output (it does not matter now if it makes sense in audible way; but there are 64 bit DACs if I'm not mistaken (or are they just internally or "artificially" 64 bit)).

Side question: What exactly "Exclusive output overrides" mean/do?

Re: 32 bit vs 64 bit foobar

Reply #1
This is a great example of why we should not release different builds of the same application.

Move to X64, forget legacy.

Re: 32 bit vs 64 bit foobar

Reply #2
This is a great example of why we should not release different builds of the same application.

Move to X64, forget legacy.

This is a great example of useless, unhelpful post.

Re: 32 bit vs 64 bit foobar

Reply #3
If I understand it correctly 32 bit FB uses 32 fp operations on all (?) actions. Does it mean that if I want to convert 16 or 24 bit file to corresponding file of another format (flac to wav or the other way round) - it goes through some 32 fp process
What do you mean by "process"? I suspect that by a "process" you mean more than storing the number (16 bits: -32768 to 32767) into a four-byte variable? And that you are worried about the floating-point math libraries that inevitably round off? Nah, you don't need to do that. The thing is, as long as you stick to at most 24 bit integer, the four-byte (= 32-bit) word can losslessly contain any integer that could be involved. Try for yourself at https://www.h-schmidt.net/FloatConverter/IEEE754.html : enter say 32767, or if you want it as fraction of digital full scale: 32767/32768 = 0.999969482421875.
(if so: why use 32 fp process to do a 16/24 bit conversion?)?
Because that is a standard format for a numeric variable, and the player uses that. A 16 bit word could have been stored as two bytes, but instead it is stored in four bytes because well, the software uses that variable format for samples.

Sure, if you knew that you would only pass 16-bit signed integers from one hand to another, you could have used another variable format and saved two bytes of RAM.
Does it mean that changing volume (including applying RG or HDCD volume halving) involves 32 fp operations?
Yes.
Note, volume halving isn't witchcraft in integer math either, it is a simple bit shift. Reserve a 24-bit word, take your 16 bits and fill them in at positions 2 to 17.
And pretty much the same happens in floating-point math, except "somewhere else" in the word. If you go back to https://www.h-schmidt.net/FloatConverter/IEEE754.html and replace the 32767 by 16383.5, and see what changes.
Does it mean that it is impossible to play 32 bit integer files losslessly?
Yes.


As for 64-bit fb2k, I don't think the beta has gotten so far as to do 64-bit audio processing yet. So integer 32 is still "lossy".

As for DACs:  There is no audio DAC with such a low noise floor that it can output even 24 bits accurately. They may accept other formats, though. And even do a little processing (volume adjustment!).

Re: 32 bit vs 64 bit foobar

Reply #4
This is a great example of why we should not release different builds of the same application.

Move to X64, forget legacy.

You got an over consumption problem.  That's not how you do things in the real world, ever and that's not how things typically work either.  Also those type of actions would only piss off long-time users and cause them to leave.  Confusion is one thing but pulling the rug out from everyone only causes more problems than it solves.