The No.1 Website for Pro Audio
 Search This Thread  Search This Forum  Search Reviews  Search Gear Database  Search Gear for sale  Search Gearslutz Go Advanced
Good dither practices, what are yours? Dynamics Plugins
Old 4 weeks ago
  #601
Lives for gear
 
monomer's Avatar
 

Quote:
Originally Posted by stinkyfingers View Post
So you have a bit meter and spot truncation...than what ?
You hopefully learn something about the system you're using.
Old 4 weeks ago
  #602
Quote:
Originally Posted by stinkyfingers View Post
FWIW There’s a bit meter in the new SPL Hawkeye...

I don’t understand how a bit meter could be useful. What do you do with it ? I’m genuinely curious...
Thank you for referring me to SPL's HawkEye; I wasn't aware of that plug-in. That's pretty much a big improvement in all directions from Stillwell's excellent and free, but outdated, Bitter. Hopefully other developers will follow up.

What you use if for? They video explains a lot on this regard really (I hadn't even thought of using it for DC offset measurement before!) but in my own personal experience I use it to measure each new plug-ins' output so I get to know if they process at 32, 48 or 64 bit FP - get to know my stuff inside out. And then, on actual sessions, I use it daily to check up all the time that I'm listening through the 16 bit dither before going to the DAC, that I haven't accidentally turned a "dither" option on inside a certain brickwall limiter plug-in, or just the other way round - that I'm not dithering through a 16 bit master output when I'm doing prints to 24 bit for vinyl or to 64 bit for backup. Indeed handy and necessary.
Old 4 weeks ago
  #603
Hey @chrisj, thank you for your answer. As most times I had to read it a couple of times to make sure I get the full information

In this case though, I'm not exactly sure I did.

Are you saying that there's a new plug-in by Airwindows coming out tomorrow that's indeed a 80/64 to 32 bit FP dither? Am I wrong or did we not agree here that was absolutely unnecessary in terms of music/audio processing? Do I have to insert a dither plug-in in my chain every time I (know that I) go from 64 bit processing to a 32 bit-processing plug-in. Oh boy...

Are you also implying that PaulDither is the best sounding dither out of your varied and numerous dither-catalog? Thank you!
Old 4 weeks ago
  #604
Airwindows
 
chrisj's Avatar
Quote:
Originally Posted by morfi View Post
Hey @chrisj, thank you for your answer. As most times I had to read it a couple of times to make sure I get the full information

In this case though, I'm not exactly sure I did.

Are you saying that there's a new plug-in by Airwindows coming out tomorrow that's indeed a 80/64 to 32 bit FP dither? Am I wrong or did we not agree here that was absolutely unnecessary in terms of music/audio processing? Do I have to insert a dither plug-in in my chain every time I (know that I) go from 64 bit processing to a 32 bit-processing plug-in. Oh boy...

Are you also implying that PaulDither is the best sounding dither out of your varied and numerous dither-catalog? Thank you!
Hmm! OK, slow down. What I've got is sort of 'more AND less' than you imply. Also, Sunday? ahahaha what was I thinking maybe not tomorrow as I'd thought, more will be revealed.

I have an 80/64 to 32 bit FP dither, and a demo plugin that offsets the audio by a huge number and casts it to float only to subtract the number again and return the floating point truncation in human-listenable form, just like using a low-bit fixed point format, but in floating point. It uses only 32 bit float to demonstrate what it does, and there's a slider where you can go between pure truncation and 100% application of TPDF dither. By manipulating the offset control you can hear the degree of mantissa truncation anywhere on the float. This is not actually hard, it's just that nobody did it because it was mentioned once by a researcher only to dismiss it right away, as the amplitude of the dither noise changes by, well, the scale of the exponent (so, impossibly huge disparities), and they took as an axiom that you can't have such changes in noise floor.

They're wrong, because the quantization noise also changes at just the same exponential scale, and dither removes quantization noise. It does, obviously, work.

YOU won't be using this. It's for developers, such as me. In experimenting I also discovered that the methods I was attempting to deal with floating point quantization were… unsound so I have immediate use of the solution. So I'm a little busy with some updates: there are certain plugins such as PurestGain where switching to the new method is obviously relevant as the new best-practice for that type of plugin (highest linearity digital gain trim, no holds barred). You as a user wouldn't be using this. You're not switching from a 64-bit buss to 32-bit buss mid-stream. It's for plugin makers who are using doubles or long doubles internally to the plugin and exporting CoreAudio or 32-bit VST buss, and only for those interested in it: I sure am, but can't speak for others. You won't hear the result but it may be cumulative, and I know I have a LOT of users who stack huge complicated arrays of Airwindows plugins to produce desired sounds (they're made kind of like Lego with each doing a simple task, so that makes sense)

Bob O. might, because there are times (not EVERY time, but times) when he hears an imperceptible crunchiness as part of audio he's working with, and checks, and the 24 bit file was exported undithered. Floating point is only slightly more fine-grained than that in its outer regions, though the quieter passages are all much more fine-grained: I think it's possible that Bob would never hear a single undithered-mantissa 32 bit float export under any circumstances ever, but of course in a mix we get LOTS of output at directly 32 bit float. That's all CoreAudio does, and pre-64-bit VST is in the same boat (anyone who hasn't implemented Double Replacing in their VSTs, a whole parallel architecture, will also be using floats by default)

So you as a user will never use this directly. But just like Logic added a 64-bit summing buss and other DAWs have gradually expanded their word length for audio processing, this is something that may come to benefit you in the long run. I figure it makes 32 bit float essentially perfect as an intermediate format (much like ProRes in video editing, you can work with it all day long without obvious degradation) and of course I've got a double-precision version, though you'd have to be internally processing at long doubles for that even to be a thing, and it's absolutely guaranteed you'll never directly hear it no matter how much compression you do

It'd be nice if I'm on for Sunday. Might take longer, you'll see why. I have some updates to do, it appears.

PaulDither is real TPDF dither that requires only one random number generated per sample, and I like the airier, brighter tone it has (a lot of bass and mid roar is removed by the highpass filter) so it's my favorite for TPDF dithers, but any would work.
Old 4 weeks ago
  #605
Lives for gear
 

I'm not quite sure that I am understanding what you guys are saying. Are some of you (including Bob O. and chrisj) saying that I should dither anytime I process audio 24 bit audio in Cubase (it processes in at least 32 bit floating point) in order to eliminate truncation noise?

If so, working with 24 bit audio, are you saying that to eliminate truncation noise, I should be dithering before each and every plugin in the FX chain and before rendering/bouncing any processed non-floating point file?

With Cubase's floating point processing engine, in the end, which (A or B) would have less truncation noise?

A. Repeatedly processed un-dithered 32 bit floating point files
B. Repeatedly processed dithered 24 bit files (since dithering is said to totally eliminate truncation noise)?

Finally, I do wonder which of the two (A or B) would sound better...
Old 4 weeks ago
  #606
Airwindows
 
chrisj's Avatar
Quote:
Originally Posted by wagz View Post
I'm not quite sure that I am understanding what you guys are saying. Are some of you (including Bob O. and chrisj) saying that I should dither anytime I process audio 24 bit audio in Cubase (it processes in at least 32 bit floating point) in order to eliminate truncation noise?

If so, working with 24 bit audio, are you saying that to eliminate truncation noise, I should be dithering before each and every plugin in the FX chain and before rendering/bouncing any processed non-floating point file?

With Cubase's floating point processing engine, in the end, which (A or B) would have less truncation noise?

A. Repeatedly processed un-dithered 32 bit floating point files
B. Repeatedly processed dithered 24 bit files (since dithering is said to totally eliminate truncation noise)?

Finally, I do wonder which of the two (A or B) would sound better...
OK. so you will never have to put a dither before every plugin, because the plugin exports at the same buss depth you're using in the first place. Again, this is for developers only, and to demonstrate the principle.

Oddly… I think B would sound better. I think if someone was using a nice high resolution fixed point format, that'll hang onto good sound quality, because floating point is sort of weird and so much of its ultra-high resolution is either impossibly faint, or representation of impossibly loud sounds. We don't need the places where floating point puts its strengths. We need linearity where we're going to hear it.

Now, you said 'with Cubase's engine' which might be either 32 or 64 bit float. You've got to accept that this under-the-hood stuff can't be fixed by 'put a magic plugin in front of every plugin' anyway: that will never happen, don't worry about it. My own concern is about how to repeatedly return to 32 bit float on the platform I like (MacOS, CoreAudio, strictly 32 bit float!) while processing at much longer word lengths inside the plugins.

B would probably sound best if the processing engine and everything else was dithered 24 bit (or indeed a 32 bit audio word, perhaps with 0dB as a hard limit and you just learn to gain stage and not produce overs at any point: apparently a big challenge)

Regardless, once you've heard what floating point truncation sounds like (just like fixed point, but varying amplitudes) you recognize that any 'repeatedly dithered' sounds better than any 'repeatedly truncated' even when the truncations are small errors added most to the loudest sounds. I feel like this produces an unpleasant tonality in loud music on modern digital mixes. Turns out it is entirely fixable, but this is not a thing the end user (or mixer, DAW user) can fix. It's about whether plugin and DAW developers fix their kit.
Old 4 weeks ago
  #607
Lives for gear
 

Quote:
Originally Posted by chrisj View Post
OK. so you will never have to put a dither before every plugin, because the plugin exports at the same buss depth you're using in the first place. Again, this is for developers only, and to demonstrate the principle.

Oddly… I think B would sound better. I think if someone was using a nice high resolution fixed point format, that'll hang onto good sound quality, because floating point is sort of weird and so much of its ultra-high resolution is either impossibly faint, or representation of impossibly loud sounds. We don't need the places where floating point puts its strengths. We need linearity where we're going to hear it.

Now, you said 'with Cubase's engine' which might be either 32 or 64 bit float. You've got to accept that this under-the-hood stuff can't be fixed by 'put a magic plugin in front of every plugin' anyway: that will never happen, don't worry about it. My own concern is about how to repeatedly return to 32 bit float on the platform I like (MacOS, CoreAudio, strictly 32 bit float!) while processing at much longer word lengths inside the plugins.

B would probably sound best if the processing engine and everything else was dithered 24 bit (or indeed a 32 bit audio word, perhaps with 0dB as a hard limit and you just learn to gain stage and not produce overs at any point: apparently a big challenge)

Regardless, once you've heard what floating point truncation sounds like (just like fixed point, but varying amplitudes) you recognize that any 'repeatedly dithered' sounds better than any 'repeatedly truncated' even when the truncations are small errors added most to the loudest sounds. I feel like this produces an unpleasant tonality in loud music on modern digital mixes. Turns out it is entirely fixable, but this is not a thing the end user (or mixer, DAW user) can fix. It's about whether plugin and DAW developers fix their kit.
Okay. Thanks, Chris. Overs aren't really a problem for me. It seems that I only need to be concerned with dithering when rendering to a fixed point file, then.
Old 4 weeks ago
  #608
Motown legend
 
Bob Olhsson's Avatar
 

Just to clarify what I've posted, I hear the crunchiness typically when I boost the top-end. The other thing I hear is a loss of depth from truncation. This loss of depth is audible when using exceptionally flat frequency and phase response speakers made by Duntech of Australia. It's lots harder to hear using other speakers. I don't have exceptional hearing and the loss is pretty obvious to anybody else in the room.

What Chris has discovered could explain why some equalizers sound better than others. One of these is the Sonnox.
Old 4 weeks ago
  #609
Gear Guru
 
Karloff70's Avatar
 

Jumping back in without having read this thread for quite a while it seems a lot might have happened.

Could I lazily enquire whether it is still deemed a good way to go to just dither when either heading out of the box or bouncing a fixed file, or are there other concerns complicating and making good reasons to do it in other situations as well?
Old 4 weeks ago
  #610
Airwindows
 
chrisj's Avatar
Quote:
Originally Posted by Bob Olhsson View Post
Just to clarify what I've posted, I hear the crunchiness typically when I boost the top-end. The other thing I hear is a loss of depth from truncation. This loss of depth is audible when using exceptionally flat frequency and phase response speakers made by Duntech of Australia. It's lots harder to hear using other speakers. I don't have exceptional hearing and the loss is pretty obvious to anybody else in the room.
That would follow, as you're boosting highs and quantization artifacts are generated out of all frequencies, including lows. If you have lows and no highs, and you have quantization artifacts, and you boost the highs a lot, among the detail you'll be revealing is any quantization stuff that happens to be there. Since you're boosting, it's not a matter of 'hear 24 bit artifacts plainly at their source volume', you're turning up a frequency band where they're easily revealed against an absence of other detail.

You're also referring to the Duntech Sovereigns, towering multi-driver speakers in a D'Appolito array and time aligned in such a way that all the voice coils are comparable distances to your ears, which focusses the wavefront for the listener (as well as causing near reflections from floor and ceiling to be somewhat dissipated and interfered with, so they're less detracting from the main wavefront). Yeah it would be harder to hear on lesser speakers (though you do TOO have exceptional hearing, Bob )

Quote:
Originally Posted by Bob Olhsson View Post
What Chris has discovered could explain why some equalizers sound better than others. One of these is the Sonnox.
…designed by Paul Frindle, where I got the PaulDither idea from. I don't think he's doing dithering scaled to the exponent, though. But he could be using highpassed dither in all manner of relevant ways, especially if Sonnox stuff uses fixed point formats internally.

Karloff: still good to just dither when heading out of the box or bouncing a fixed file. You're fine. This 'floating point dither' stuff is of interest to software developers, or will be. It essentially means you're getting what Bob speaks of, only 6dB quieter, every time you return to the CoreAudio buss after a plugin. And of course, ITB you can boost highs too, so eventually it'll become apparent: but only on the outside quarters of the waveform where the quantization is coarsest, it becomes progressively subtler by 6dB intervals as you get closer to silence.

I look forward to providing demonstrations soon: I've got some updates to do, thanks to what I've learned working on this.
Old 4 weeks ago
  #611
Gear Guru
 
Karloff70's Avatar
 

Cheers Chris! Still liking that Pauldither best here, too.
Old 4 weeks ago
  #612
Motown legend
 
Bob Olhsson's Avatar
 

Paul implied in a post that something was being done to effectively dither floating point calculations. Sony/Oxford certainly had the budget for engineering.
Old 4 weeks ago
  #613
Lives for gear
 
stinkyfingers's Avatar
 

Quote:
Originally Posted by monomer View Post
You hopefully learn something about the system you're using.
i would like to learn about this...

Imgur: The magic of the Internet

yellow trace is sine wave input, white is output.

(sorry bout the skip in the gif)
Old 4 weeks ago
  #614
Airwindows
 
chrisj's Avatar
Quote:
Originally Posted by Bob Olhsson View Post
Paul implied in a post that something was being done to effectively dither floating point calculations. Sony/Oxford certainly had the budget for engineering.
Did he now? This would be it. Turns out it's not terribly difficult code-wise and there's only one right answer. I had no idea that Paul'd implied anything of the sort: it's sure not mainstream digital audio thinking, but that's to his credit.

That said, as far as just 'calculations' are concerned, you just want to be using a longer word length. Dithering is when you go to a smaller word length, and 32 bit float certainly qualifies. It seems like it'd be very awkward to try and dither each calculation: do you generate a random dither for every one, do each calculation on a long enough word that the dither's relevant, and then cast it back to the lower word length internally for… why? Surely it's about just keeping a long wordlength on the internal buss.

If Sony/Oxford was about hardware that couldn't do that, I could see why this would become more of a concern.
Old 4 weeks ago
  #615
Lives for gear
 
monomer's Avatar
 

Quote:
Originally Posted by stinkyfingers View Post
i would like to learn about this...

Imgur: The magic of the Internet

yellow trace is sine wave input, white is output.

(sorry bout the skip in the gif)
What the heck IS that???
(by that i mean, what is causing this?)
Old 4 weeks ago
  #616
Lives for gear
 
stinkyfingers's Avatar
 

Quote:
Originally Posted by monomer View Post
What the heck IS that???
(by that i mean, what is causing this?)
that's what i'd like to know about it...
(i would assume truncation of some sort)

the input is a (0 dBFS) 4,410.1 Hz sine wave @ 44.1 kHz / 64bf
the plugin is the (K-comp section of) the new Maag kompressor.
i cranked the input gain up and the threshold down...
(...apparently not supposed to do that)
here's another shot of this thing in action...Imgur
fun stuff...
Old 4 weeks ago
  #617
Lives for gear
 
monomer's Avatar
 

Quote:
Originally Posted by stinkyfingers View Post
that's what i'd like to know about it...
(i would assume truncation of some sort)

the input is a (0 dBFS) 4,410.1 Hz sine wave @ 44.1 kHz / 64bf
the plugin is the (K-comp section of) the new Maag kompressor.
i cranked the input gain up and the threshold down...
(...apparently not supposed to do that)
here's another shot of this thing in action...Imgur
fun stuff...
Seems to be a bug of some sort.
Have you tried inputting someting lower than 0dBfs (which may have triggered the bug)?
Just a theory. Maybe it upsamples internally and creates some bumps above 0dBfs and trips over that.
Old 4 weeks ago
  #618
Lives for gear
 
stinkyfingers's Avatar
 

Quote:
Originally Posted by monomer View Post
Seems to be a bug of some sort.
Have you tried inputting someting lower than 0dBfs (which may have triggered the bug)?
Just a theory. Maybe it upsamples internally and creates some bumps above 0dBfs and trips over that.
i'm not seeing any (peak) clipping or oversampling.
what i do see is the waveform gets a little "kink" in it. for lower frequencies it's closer to 0 crossing, higher freqs its closer to the peak.
here's an example of the waveform anomaly...https://i.imgur.com/51M6qYS.png

edit: here's a static shot of -18 dBFS input level > https://i.imgur.com/krRquiS.png
and here's clipping the hell out of it > https://i.imgur.com/pgYxsKv.png

(*sine waves are 64 bit float, clean as can be)

sorry for bringing this thread a little OT

Last edited by stinkyfingers; 4 weeks ago at 05:33 PM..
Old 4 weeks ago
  #619
Lives for gear
 
monomer's Avatar
 

Quote:
Originally Posted by stinkyfingers View Post
i'm not seeing any (peak) clipping or oversampling.
what i do see is the waveform gets a little "kink" in it. for lower frequencies it's closer to 0 crossing, higher freqs its closer to the peak.
here's an example of the waveform anomaly...https://i.imgur.com/51M6qYS.png
Beats me.
Old 4 weeks ago
  #620
Lives for gear
 
Deckdaddy's Avatar
Is it better to work in a constant 32 bit environtment than back and forth between 64 bit engine and 32 bit calculations causing distortions?
Old 4 weeks ago
  #621
Motown legend
 
Bob Olhsson's Avatar
 

Quote:
Originally Posted by chrisj View Post
Did he now? This would be it. Turns out it's not terribly difficult code-wise and there's only one right answer. I had no idea that Paul'd implied anything of the sort: it's sure not mainstream digital audio thinking, but that's to his credit...
Dither shot a big hole in most people's concepts of what is or is not audible. Oddly, I understand that the original digital telecommunications systems actually used dither which suggests that a whole bunch of people simply didn't do their homework in the early daze of high fidelity digital recording.
Old 4 weeks ago
  #622
Gear Addict
 

Quote:
Originally Posted by stinkyfingers View Post
i would like to learn about this...

Imgur: The magic of the Internet

yellow trace is sine wave input, white is output.

(sorry bout the skip in the gif)
What bit meter is that? Is it part of SPAN?
Old 4 weeks ago
  #623
Lives for gear
 
stinkyfingers's Avatar
 

Quote:
Originally Posted by mustgroove View Post
What bit meter is that? Is it part of SPAN?
It’s part of SPL Hawkeye (new release from plugin alliance).
I thought it was a nice feature that you can un-dock it from the main plug-in and re-size it.
Old 4 weeks ago
  #624
Gear Addict
 

Quote:
Originally Posted by stinkyfingers View Post
It’s part of SPL Hawkeye (new release from plugin alliance).
I thought it was a nice feature that you can un-dock it from the main plug-in and re-size it.
Ah gotcha. The histogram aspect is nice. The only bit meter I was previous aware of was Bitter: Bitter << Stillwell Audio (but doesn't have a histogram)
Old 4 weeks ago
  #625
Lives for gear
 
stinkyfingers's Avatar
 

Quote:
Originally Posted by mustgroove View Post
The histogram aspect is nice.
this is one of my favorites so far...i hacked a DAC into my atari and this is what i got...

Good dither practices, what are yours?-atari.png
Attached Thumbnails
Good dither practices, what are yours?-atari.png   Good dither practices, what are yours?-garlic.png   Good dither practices, what are yours?-happyguy.png   Good dither practices, what are yours?-mouz.png   Good dither practices, what are yours?-facesofdeath.png  

Old 4 weeks ago
  #626
Lives for gear
 

Wavelab and Izotope Ozone both have bitmeters. But not as plugins.
RME DigiCheck does as well (though only to 24 bits which makes sense for where it monitors in the audio chain)
Old 4 weeks ago
  #627
nkf
Lives for gear
 

Do I get this right now? FabianTDR says dithering from 32 floating point to 24 bit (fixed) makes no sense, while Bob Olhsson reports that Paul Frindle worked on dithering floating point data? I go with a MADI card into a Yamaha DM2000 mixer from Nuendo and Cubase and their 64 bit FP mixing engines. Does it now makes sense to dither the outputs going to the DM2000 inputs, which are 24 bit wide, or not?
Old 4 weeks ago
  #628
Keep calm and dither on!

Quote:
Originally Posted by nkf View Post
Do I get this right now? FabianTDR says dithering from 32 floating point to 24 bit (fixed) makes no sense, while Bob Olhsson reports that Paul Frindle worked on dithering floating point data? I go with a MADI card into a Yamaha DM2000 mixer from Nuendo and Cubase and their 64 bit FP mixing engines. Does it now makes sense to dither the outputs going to the DM2000 inputs, which are 24 bit wide, or not?
That's not what Fabien said. He has pointed out that some signals, esp. acoustic recordings may have enough noise that they're practically self-dithering. But others have reported audible quantization artifacts in tracks that consist exclusively of acoustic room noise. I've said (I say it again here) that most "noise" you encounter is not statistically proper dither. And even Fabien admits that adding dither isn't going to hurt anything. You can't base standard workflow on the few exceptional cases where dither might not be needed, when most of the time it is needed. Just do it.

Right now we're having an interesting discussion about a dither-like algorithm for transfering between 64-bit and 32-bit floating point representations. I've no idea whether anyone can actually hear that, but the (undithered) operation does produce measurable degradation. (I noted this about 15 years ago while doing my own numerical experiments.) Chrisj has graciously promised to build something in VST form so we can all hear exponent-scaled dither for ourselves. If you're up for some painstaking and likely very frustrating listening tests, feel free to join in once his plug in drops.

Meanwhile, keep dither turned on in your studio work -- these floating-point discussions have no bearing on the necessity of that.

David L. Rick
Seventh String Recording
Old 4 weeks ago
  #629
nkf
Lives for gear
 

Quote:
Originally Posted by David Rick View Post
That's not what Fabien said. He has pointed out that some signals, esp. acoustic recordings may have enough noise that they're practically self-dithering.
Thank you, Rick - I was thinking about Fabians statement: "And as mentioned before, one cannot dither floating point truncation." That has a general meaning. I had and have always my DAW outputs dithered and use TPDF for delivering 24 bit files from 32 bit floating point waves.
Old 4 weeks ago
  #630
Airwindows
 
chrisj's Avatar
Quote:
Originally Posted by nkf View Post
Thank you, Rick - I was thinking about Fabians statement: "And as mentioned before, one cannot dither floating point truncation." That has a general meaning. I had and have always my DAW outputs dithered and use TPDF for delivering 24 bit files from 32 bit floating point waves.
Yes, Fabian said that, and I'm contradicting it I don't remember him talking about 'self-dithering': that's not a thing because room or electronic noise isn't 'two noise sources of exactly one bit in size' (aka TPDF) which is what you need to be 'dithering' in a formal sense.

Flat dither is one source of one bit noise, and it touches on the reason Fabian objects to floating point dither (a valid objection but a misunderstanding). With just one noise source, you're dithering the quantization but the amplitude of the resulting noise fluctuates relative to THE WAVEFORM which is the point of the exercise. In other words, got a 60 cycle sine? You'll hear a 60 cycle artifact. Flat dither, or 'incorrect' dither, retains audible stuff tied to the waveform coming in, much like truncation generates loud artifacts tied to the waveform coming in. Not harmonically related, but sort of mechanically related.

'Self-dither' isn't a thing because even if it was impossibly well-suited to the audio and exactly, persistently one bit in size, it'd still be correlated to the waveform as described.

It's possible Fabien's read a paper (in fact, may have been the one linking it here!) on floating point dither in which the author explains that it's this change in amplitude that makes a failed dither, failed. By definition floating point dither of the mantissa directly, will produce noise at ALL levels, and so by this argument it's automatically unhelpful. I think there's a bit of a suggestion that the changing levels will be all over the place regardless of the underlying signal, and of course it wouldn't be perceived like that but the author is really, really down on the concept and dismisses it out of hand.

They're mistaken, and here's why: 32 bit floating point dither is still correct TPDF relative to whatever mantissa is present. It's quite simple to do (Paul Frindle may already have done it, like so many other things he's done!) and it perfectly linearizes the mantissa and removes all quantization artifacts, at whatever amplitude that mantissa is used.

It sounds like it will fluctuate related to the signal, but it's not: it's fluctuating relative to the EXPONENT and that's a very big distinction. The quantization artifacts are fluctuating relative to the exponent too! You literally can't linearize them with any continuous noise source of unvarying level. The correct behavior is to have the technique that relates to the mantissa (the fixed point part) scaling on the fly sample by sample, and the easiest way to hear this is against a signal that demonstrates this linearity by slow changes in sample value, such as a test sine. If you do that, it's obvious when you've got it right: the sound doesn't resemble the sound of flat dither (with mantissa-related fluctuation in dither noise), it resembles (is) TPDF dither, with an exponent-related fluctuation in dither noise that sounds almost identical to normal TDPF noisefloor when used on heavily offset test tones. Down near zero voltage where there'll be a larger variance of exponent, all the dither noises are of course impossibly quiet and won't be heard anyhow, and I'm suggesting that even if you did it would not be an objectionable fluctuation of noise and not equivalent to the signal-related fluctuation of flat dither.

Sorry for getting so technical. The reason this is interesting is because all sides have good arguments for how they're seeing the matter. It's just that there's a conceptual difference between varying exponents, and mantissa-related correlated noise. And as you have a low-frequency wave progressing through stages of exponents, it's obvious when the linearization is happening because in spite of shifts in noisefloor level, the effect seems completely uncorrelated from the signal.

I feel like telling the author of the paper I referred to, had you actually tried it, you would have done a double take and gone 'oh… so apparently the changes in noise level don't matter here for some reason' and gone on to realize 'because they aren't correlated to information in the mantissa, which is what's being dithered'. Removing/linearizing quantization artifacts is a very specific behavior, and when the level of those artifacts fluctuate too, the dither has to exactly match the scale of the artifacts.

And as we keep saying, this doesn't change what you do with fixed point formats, and keep on dithering to 16 bit CD audio and even 24 bit fixed point.
Topic:
Post Reply

Welcome to the Gearslutz Pro Audio Community!

Registration benefits include:
  • The ability to reply to and create new discussions
  • Access to members-only giveaways & competitions
  • Interact with VIP industry experts in our guest Q&As
  • Access to members-only sub forum discussions
  • Access to members-only Chat Room
  • Get INSTANT ACCESS to the world's best private pro audio Classifieds for only USD $20/year
  • Promote your eBay auctions and Reverb.com listings for free
  • Remove this message!
You need an account to post a reply. Create a username and password below and an account will be created and your post entered.


 
 
Slide to join now Processing…
Thread Tools
Search this Thread
Search this Thread:

Advanced Search
Forum Jump
Forum Jump