Dither noise without bit depth change *Answered, thanks!*

This section is now closed.
Forum rules
Audacity 1.3.x is now obsolete. Please use the current Audacity 2.1.x version.

The final version of Audacity for Windows 98/ME is the legacy 2.0.0 version.
Locked
andrew_berge
Posts: 2
Joined: Mon May 09, 2011 5:53 pm
Operating System: Please select

Dither noise without bit depth change *Answered, thanks!*

Post by andrew_berge » Mon May 09, 2011 6:08 pm

Hello, i've been working on some audio lately and i've noticed audacity was adding noise to my files.
I have 44.1khz, 16bit wav files (computer generated, they contain sections with absolute silence), after a little bit of cutting and adding a fadeout i save them as 44.1khz, 16bit wav files.

The same, right?
But when i open the old file and the new file and compare, the new one now has static added.
With a little bit of searching, i found it was probably dither noise. A couple tests showed me that was in fact the problem.
I created a mono track containing five seconds of silence, turned off dithering and exported as wav.
Then i turned dithering back on and exported as wav. I then opened the two exported files and compared them with the original (using Waveform dB view).

The result (large image): http://img535.imageshack.us/img535/7240/unleddjb.png

So... Problem solved, i guess? But now all the files i've processed in the past probably have this problem. Which obviously is frustrating.
Why does audacity dither a file that doesn't need dithering?
Last edited by andrew_berge on Mon May 09, 2011 8:22 pm, edited 1 time in total.

steve
Site Admin
Posts: 81653
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: Dither noise without sample rate change

Post by steve » Mon May 09, 2011 7:53 pm

It is the conversion from a higher bit format (bit-depth) to a lower one that requires dither, not the change in sample rate.

Audacity does all processing and mixing at 32-bit float.
This has the advantages:
  • processing and mixing is done with greater precision.
  • float format calculations are generally faster than integer calculations.
  • Processing at 32-bit and exporting as dithered 16-bit provides a greater signal to noise ratio than un-dithered 16 bit.
When you "Export", Audacity "mixes" all non-muted audio tracks (even if there is only one track), and this is done with 32-bit precision, so by default "dither" is used (but can be disabled in Preferences).

The third item in the above list is the one that is tricky to explain, and is somewhat counter-intuitive.
16-bit is capable of a maximum of 96 dB dynamic range, however, very quiet sounds will have terrible sound quality. Below -84 dBFS, 16-bit audio has only 2 bits up or down available. Not surprisingly, the sound quality is horrible because the waveform jumps up and down between the available bit values.

What "dither" does, is to smooth out these jumps by adding a degree of randomness.
Attached are three examples of very quiet sine waves from a 32-bit track. One has been exported as 16 bit no dither, one as 16 bit with dither and one as 32-bit float. Use the "Normalize" effect to bring them all up to -6 dB, then listen to them. Not surprisingly the 32-bit sample sounds pretty clean. The 16-bit with dither has a noticeable amount of noise, but is still quite clearly a 440 Hz sine tone. The 16-bit no dither sounds horribly distorted and is hardly recognisable as a sine tone. In fact, if we went more extreme than this and started with a sound at -98 dB, the dithered 16-bit sine wave would still be audible (albeit with a lot of hiss), but the no dither version would be totally silent. Although dither adds a little noise, it increases the dynamic range by allowing very quiet sounds to be represented.

There is one case where "no dither" wins over using dither, and that is when making simple cut/paste/delete type edits to an imported uncompressed 16-bit file and exporting it as an uncompressed 16 bit file. In this case, because there is no "processing" occurring, all sample values are exact 16 bit integers, so there is no benefit to dithering. In this situation it is better to temporarily switch off dither.

There has been a suggestion that the dither options should be more readily available by putting them in the Export dialogue. While I think this is a very reasonable suggestion, and I would personally find it useful, I think that for the vast majority of users it would be an unnecessary complication. As soon as any type of processing of the audio occurs (including Amplify, Normalize, Fade in, Fade out, Noise Removal...) that one advantage of "no dither" disappears because you no longer have all integer values.
Attachments
32-bit.wav
(172.34 KiB) Downloaded 36 times
no dither.wav
(86.18 KiB) Downloaded 38 times
dither.wav
(86.18 KiB) Downloaded 43 times
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)

andrew_berge
Posts: 2
Joined: Mon May 09, 2011 5:53 pm
Operating System: Please select

Re: Dither noise without sample rate change

Post by andrew_berge » Mon May 09, 2011 8:15 pm

Oh, i see. I guess it makes sense.
So basically i have a choice between preserving the source quality (even if it's just a slight change), and better rendering of quiet sounds, right?
Thanks for clearing that up for me.

Now i'm wondering why the whole track is dithered, rather than just the parts that have been modified.
I guess since this 32bit mixing is done when saving, it would complicate things quite a bit.
And then you would end up with a track that's rendered differently at certain parts, which would be kind of weird (and maybe even audible in certain cases).

Locked