I always heard that 32-bit was way more than we would ever need. Why 64-bit? And does it take up more CPU or storage?
Thanks-
I always heard that 32-bit was way more than we would ever need. Why 64-bit? And does it take up more CPU or storage?
Thanks-
It offers more precision in the audio engine. It will add a little more CPU usage but does not affect the file size.
All the best,
Greg
Thank you, Greg!
More precision ⦠what are the advantages of that (greater dynamic range? ⦠or is it something completely different than that)?
(Hobbyist more than engineer here, sorry!)
I always thought summing was done at 80-bit floating point anyway. So I donāt know what 64-bit is about. Tell me why this isnāt just a marketing number.
less rounding numbers so less errors when manipulating the audio signal. Every change to the signal will be closer to the original quality.
Do a blind test and see if you can hear a difference. ;p
Itās cool to have though.
on older machines (2010 and before) itās a no go terrain.
Way more resources are needed.
But ok, for me itās a testing environment so no prob.
It sounds better, no question, clearer, deaper, more natural now, I am sure
I havenāt bought it, thatās why Iām asking
Iām happy you think so! Why do you think that? Do you hear a difference? Are there other practical advantages?
Plugins that calculate in 64-bit fp donāt have to convert to and from 32-bit.
I canāt see where you would hear a difference, but others would disagree with me.
From Philippe, developer of Steinberg WaveLab:
The interest of 64 bit float is not about āheadroomā / ādynamic rangeāā¦
pro:
no need to convert between 32 bit and 64 bit float: 64 bit is needed by some plugins for their internal computations. 64 bit then means: small performance gain and no precision lost between succeeding 64 bit plugins.
Better audio precision when mixing audio signals. I explain this at the end of this message.
If audio devices ever go beyond 24 bit precision, 64 bit float will be needed (because 32 bit float means, in fact, 24 bit precision)con:
requires more memory, which can mean a performance lost (more memory to move). But as soon as a sophisticated plugin is used, this one is likely to become the bottleneck, compared to the memory overhead. Therefore, this is a ārelative conā.
64 bit CPU instructions are as fast as 32 bit instructions, because the CPUs are 64 bit today. But certain rare instructions are faster with 32 bit float, because the CPU can conjugate 2 of them while in the same time, only one 64 bit instruction is performed (SIMD).Now, an explanation about 32 bit float vs 64 bit float, for mixing.
While 32 bit float means in fact 24 bit precision, 64 bit float means in fact 48 bit precision. This means, far more precision.
I can illustrate this difference with elementary school maths (this is an analogy of what happens in reality).Letās say samples can have only values 0, 1, 2, 3, 4, 5,ā¦
Letās start with a sample that has value ā3ā
An audio gain of ādivide by 2ā, is applied. We get the value ā1.5ā, but this value is not allowed hence must be rounded, eg. the new value becomes 1.
Later another gain āmultiply by 2ā is applied. The new sample becomes ā2ā.Consequence: we started from value ā3ā and ended up with value ā2ā, while the two gains should have cancelled each other.
When this kind of loss is performed multiple of times (complex mixing), then errors stack up.
The consequence is not dramatic, because some errors are (randomly) compensated by others (round-down / round-up), but this compensation actually means ādigital fogā aka noise.64 bit float processing pushes the digital fog far from the 24 bit domain. Hence a cleaner result at the end of the audio chain.
The difference 32/64 is therefore about āaudio definitionā, if your ears can sensible enough. But thatās another topic!
Philippe
Is WaveLab 9 based on a 32-bit or 64-bit float engine? Looking for an engine that can capture, store, and deliver 32-bit integer (clean) files, such as AIFF32 and WAV32. A 32-bit floating point engine will tend to lose some of the top 8 bits. Tks.
Reading time: 7 mins š Likes: 14 ā¤
Thanks ultradust, for sharing Philippeās explanation. Very informative.
/Magnus
Thanks ultradust, for sharing Philippeās explanation. Very informative.
/Magnus
Even though no one can hear a difference⦠Have a read here:
On-topic, because it responds directly to the Steinberg employee/moderatorās thread topic. So itās not āhijackingā and wonāt be deleted, right? š Fredo, Iāve read your words in this thread several times, but I didnāt see where you explained...
Then have a read on the whole thread, and the links provided:
In the past, we had many discussions about bit depth and we had the luck that knowledgable people Like Nika Aldrich and Bob Katz came here to explain what digital recording was all about. They tackled all of the myths that are floating around...
Reading time: 8 mins š Likes: 1 ā¤
The main thing is ? It it affecting processor speed ? It could be 64 Bit is better on a 64 bit machine. And 32bit is more processor heavy because of conversions to and from 64bit processing. So anyone did a speed test ?
To me 32bit processing is ok, i leave it for now. Because no one can hear any difference between 32bit and 64bitā¦
Unfortunately, none of my Waves plugins seem to work at 64 bit.
Unfortunately, none of my Waves plugins seem to work at 64 bit.
That is why i leave it on 32bit, because if the plugins are actually 32bit processing, they must have 64bit processing. If not i did not know what happens. Maybe more can test this. I assume you have waves x64 plugins ? (not using Jbridge?).
I donāt think anyone can tell the difference in audio quality. Youād have to be super human.
I donāt think anyone can tell the difference in audio quality. Youād have to be super human.
And your audio interface, amps and speakers need to have a dynamic range and noisefloor beyond (-)144db.
64bit mixing IS NOT about dynamic range, itās about roundig accuracy and adapting word length.
Ultradust,
I think that using integers to demonstrate the error in floating point is not a good way.
I will use another example
I start with value 1
Divide by 3 equals 0.33333333333333333333333333333333333333333333333333333333333333333333333333333
32bit floating point precision will cut at 8th decimal value
You will get 0.3333333
Multiply by 3
you get 0.9999999
The error is 0.0000001 of expected value.
This error can be measured, but, can it be heard?
With 64bit precision it will cut at 17th decimal value and the error will be:
0.00000000000000001 of the expected value.
Regards,
LluĆs