Stereo interleaved file for CD Master

Again, the benefit is for the major part purely theoretical and not something you’ll be able to actually hear.
Not many people record a flute playing piano pianissimo 50 yards away, crank it up to 0dB, export it and expect it to sound pristine.

There’s no build-up as long as you stay in the 32-bit float realm. The only build up is if you render out to undithered 24 or 16 bit and then import that file again.

That “magic dust” is not exactly snake oil but it has a certain degree of similarity.

Not according to Chris Johnson of airwindows: https://www.airwindows.com/ditherfloat/

We’re talking about dithering during (CD) mastering here.

I expect the final master to be normalized to have a true-peak of around -1dBTP (and digital peak just below that). So the exponent of the float is zero.

Chris Johnson claims takes us firmly into the snake oil territory.

Ask him to name one CD where the dither noise is audible at ordinary listening level.
Not when you crank your 1000 watt amp to max at the end just to hear the final reverb tail but when you’re using the same level you used to listen to the entire track or CD.

I bet there are one or two horribly mishandled end products but they’re very likely badly recorded to begin with.

1 Like

I think this is the kind of argument he pushes back against. Just because you can’t hear it at normal listening levels doesn’t mean it is not interesting and true. @x42 says that truncation from 32-bit float to 24-bit fixed is impossible yet Dan Worrall’s video shows otherwise. Classical music often doesn’t reach -1 dB so it isn’t using the full 24-bit fixed (again, forgive me if terms are a little off). Again, not audible for regular listening volumes (maybe) but it certainly exists.

There are plenty of things in life that are subtle or hard to hear/compare (the final tweaking of the felt on a harpsichord action, one final voicing tweak on a pipe organ or an ever-so-slight adjustment to a well-temperament) but there’s enough evidence to suggest that truncation affects more than just those bottom few bits when it comes to harmonicity or emotional connection to a master. Not all the time, but enough that many people call for such dither.

EDIT: And a reminder that Chris isn’t selling his plugins in the traditional sense. He’s quite happy for people to download at no cost. I see him as a sort of friendly mad scientist with a heart of gold. Very difficult to assign “snake oil” when it’s given away as open-source.

Yes, in context of master with a fixed exponent (usually zero). At the point when you dither the final export while converting to fixed point.

During mixing, when you play tricks like multiplying with huge gain-factors things are obviously different. Also keep in mind that Dan’s experiment are rather academic. He also specifically picked -108dB to showcase how dither sounds, below the 16bit boundary and make it audible.

32bit float is 24 bit data + 8 bit exponent. So you always have 24 bits of data, nothing is truncated when quantizing to 24bit integer. But again this is also just academic. The lower bits are usually just random (thermal) noise anyway.

If you can’t hear something at normal listening levels it’s not there for any practical purposes.
It’s like saying that you need a photo production chain where you’re faithfully preserving and reproducing all the UV and IR rays that hit the camera lens.

There’s also ample evidence to suggest that information bias is a big factor when it comes to harmonicity or emotional connection to a particular piece of digital audio.
That’s why HydrogenAudio require that you provide an ABX record to prove that you’re not just believing that one set of parameters sounds better than another.

I didn’t mean snake oil as in overcharging but as in presenting something that looks necessary on paper but is unnecessary in practice.

@x42, @peder, I hear both of your points. Thanks for taking the time to engage in meaningful back-and-forth. My remaining thoughts are:

  1. How can chris (airwindows) show truncation build up from 32-bit float to 32-bit float? You see it on the spectrum analyzer and hear it clearly in his video. Again, not debating that it is at ridiculously low levels but, still, it is there (~17 bits worth of gain to start hearing it?).

  2. I think I’m understanding your point about 24-bit not needing dither. Dan’s video puts the audio so low down that what we are hearing is essentially the distortion of the reverb tail bouncing around at the lowest bit in the exact same way it would for a truncated 16-bit, 14-bit or 20-bit? Does that alone explain the chattering/noise-gated sound? In real life, the tail would disappear into the room noise and thermal noise (which is higher than any 24-bit dither noise applied so any such talk of dither would be a moot point).

My understanding is that an exponent of 2^0 = 1 represents numbers between 1 and 2 and -1 and -2. For audio we want numbers between -1 and 1. There is an IEEE 754 converter here :

https://www.h-schmidt.net/FloatConverter/IEEE754.html

I thought 24 bit audio was stored as two’s complement signed integers. 32 bit float doesn’t use two’s complement so there must be some conversion involved. The audio data can’t stay unchanged as far as I can tell.

To get numbers between -1 and 1 a negative exponent would have to be used so the exponent can’t be fixed. There are as many floats between 0 and 1 as there are between 1 and 2^128. There is the same number of floats between 1/2 and 1 as there are between 1/4 and 1/2 so the resolution goes up as the numbers approach zero.

A 24 bit file can be mapped exactly onto 32 bit float – there is no error involved and if this was exported without processing it wouldn’t need dithered. My understanding is that if any processing happens then the float values in between the 24 bit values would get used and when that is exported at 24 bit there is quantisation involved, so it needs dithered.

1 Like

The whole resolution/precision thing got me thinking and I believe I understand the notion of the 32-bit float dither a bit better now. It is very academic because we always want audio between -1 and 1, however, the more 32-bit float pushes past 0 dBFS, the more the precision is lost. If we could play such audio, there would be truncation happening or rounding errors as the steps get bigger and bigger. In reality, once scaled back to 24-bit fixed territory nothing is lost as it scales perfectly. What Chris was showing via his plugin was that once pushed really high (by about 17-bits worth!) and essentially re-converted (?) to 32-bit float and brought back down is that there would be some evidence of truncation. He also successfully showed that such truncation can be dithered so the distortion is essentially a non-event (something previously thought to be impossible). Academic, but really, really cool. I hope I’ve understood this enough otherwise this paragraph is garbage.

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.