KlarkKentThe3rd wrote:
Leaves me with one question though: if a 16 bit track is up-converted, no quality is added; those new extra bits are, in a way, empty. So, when you down-convert after an complex edit (like amplifying), what quality is lost, exactly? The track was 16 bits to begin with.
Basically the same answer as Robert, but expressed slightly differently (hopefully one will make sense

)
When a 16 bit track is "up-converted" to a higher bit format, the "numbers" (sample values) are "padded with zeros".
16 bit and 24 bit are "integer formats". That is, they count in whole numbers. In the case of 16 bit, the available numbers are −32,768 to +32,767. These numbers are used to represent sample values between absolute silence and 0 dB (the height of a track in Audacity).
"32 bit float" is able to represent fractional values (that's what the "float" part of the name means). I'll not go into detail about how it does it as that is complicated, but sufficient to say that it can represent every 16 bit integer value exactly, and can also represent fractional values between each of those whole numbers.
So let's take a sequence of whole numbers as an example of 16 bit audio:
Now we convert them to 32 bit float. This can represent fractional values, so we "pad" each number with zeros:
Code: Select all
0.0000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000
When we "process" the numbers, the fractional part can be used. For example, if we "amplify" (the same as "multiply") by 1.6
Code: Select all
0.0000 1.6000 3.2000 4.8000 6.4000 8.000 9.6000
Then we convert back to 16 bit (whole numbers).
We need to "round" the values in some way.
We could round to the nearest whole number:
See that this gives us uneven steps, which will create unwanted harmonics.
We could round down, which would give us:
Which again is uneven.
We could round up:
Whichever method of rounding we use, the output will always create uneven steps, whereas out original sequence had exactly the same step between each sample.
The idea of dither is to randomize these errors so that "on average" the steps follow the same shape as the original, thus minimizing the distortion.
As an example that you can hear; this is a very quiet sine wave (pure tone) in 32 bit float format, followed by the same tone after converting to 16 bit with dither, followed by the same tone that has been converted without dither. The three tones have then been amplified by 50 dB so that both the tones and the dither noise are clearly audible.
The second tone (with dither) has noticeable noise, it still sounds much like the original tone.
The third tone (without dither) does not have the noise, but the tone sounds completely different due to the harmonic distortion caused by quantize errors.