Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: "Useless" Dither (Read 8427 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

"Useless" Dither

I've been using Audacity to import dozens of ripped 16-bit FLAC files, line them up end to end, and then export them as a single long FLAC file. However, as a side-effect of Audacity treating the files as 32-bit internally, dither is added during the exporting process even though no actual manipulation of the original audio has taken place. While initially inaudible, I've noticed that the dithering noise 'stacks' every time the file is exported anew, so it could become problematic in extreme corner cases.

Is there any merit to leaving Audacity in 32-bit mode for such a purpose? I want to say there is no harm in switching it over to 16-bit so no conversion takes place between the original files and the final merged file, maintaining the original audio signal from the CD. Is there something else going on behind the scenes that could cause audio distortion if dithering is not enabled?

Should I even be using Audacity for this, or is there a much simpler program that can do the same without harming fidelity?

"Useless" Dither

Reply #1
foobar2000 can do it with converter settings "Dither: Never" and "Merge all tracks into one output file".  Install foobar2000 and its "Free Encoder Pack" and you should have all you need.  Both available here:
http://www.foobar2000.org/download

"Useless" Dither

Reply #2
Why don't you simply adjust the settings of Audacity? You can disable dithering. You can also specify the project bitrate and number representation.

"Useless" Dither

Reply #3
In Audacity, go to Edit -> Preferences -> Quality and set Dither to "None".



I thought that Audacity was "smart enough" to apply dither only when downsampling, but I'm not sure...  This page says:
Quote
Dither will only be applied if the output is at a lower bit depth than the original data.
  But the question is, what do they mean by "original"?  Is that the actual original bit depth, or Audacity's project setting?

It also says:
Quote
Here's the exception to the rule: If you have recorded in 16-bit and are only doing simple editing (cut, delete, paste, trim...) and not doing any processing (amplify, equalize, frequency filter....) then for highest accuracy dither can be set to "none". In this case, because there are no 32-bit operations prior to export there is no benefit to using dither. Exporting a 16-bit track to 16-bit with dither set to "none" will be lossless. The same applies if exporting from a 24-bit track to an uncompressed 24-bit file format with dither disabled.

"Useless" Dither

Reply #4
I've been using Audacity to import dozens of ripped 16-bit FLAC files, line them up end to end, and then export them as a single long FLAC file. However, as a side-effect of Audacity treating the files as 32-bit internally, dither is added during the exporting process even though no actual manipulation of the original audio has taken place. While initially inaudible, I've noticed that the dithering noise 'stacks' every time the file is exported anew, so it could become problematic in extreme corner cases.

Is there any merit to leaving Audacity in 32-bit mode for such a purpose? I want to say there is no harm in switching it over to 16-bit so no conversion takes place between the original files and the final merged file, maintaining the original audio signal from the CD. Is there something else going on behind the scenes that could cause audio distortion if dithering is not enabled?

Should I even be using Audacity for this, or is there a much simpler program that can do the same without harming fidelity?


You might be worrying about a non-problem. The way that dither raises the noise floor is that it raises the noise floor starting at about -93 dB, and adds 3 dB more noise for each doubling of the number of times the file was re-dithered.

So, the resulting noise floor follows this pattern

1 copy -93 dB
2 copies -90 dB
4 copies -87 dB
8 copies  -84 dB
16 copies -81 dB
32 copies -78 dB
64 copies -75 dB
128 copies -72 dB
256 copies -69 dB

Someplace after 64 copies there might be a perceptible increase in the noise floor of a typical recording.

The first 4 copies are "free" because there are no commercial recordings known to me (and I've looked)  that have a noise floor that is even just 87 dB down.

Of course just about every audio tool that adds dither can have it switched off. It's just a matter of RTFM to enlighten yourself about the details.


"Useless" Dither

Reply #5
If all you're doing is concatenating files, use a command line program. SoX is a good option.

For instance,
Code: [Select]
sox part1.flac part2.flac part3.flac all.flac

"Useless" Dither

Reply #6
I thought that Audacity was "smart enough" to apply dither only when downsampling, but I'm not sure...
It isn't. Import a flac file and export it without doing anything - the audio md5 will change. I only found out about it recently and was rather shocked. I have disabled dithering ever since and only enable it when needed.

"Useless" Dither

Reply #7
This has been in the "known issues" section of Audacity's release notes for quite a while. I agree it's a stupid problem.

BTW, after project recovery the audio tracks will display the standard sample format rather than the one they're actually in. It's probably not an issue for most people, but I have quite the backlog of unsaved recordings and recently switched from 16 to 24 bit as standard.

"Useless" Dither

Reply #8
Seems kind of daft of me that people would be using Audacity when Adobe was *giving Audition away* not so long ago.


"Useless" Dither

Reply #9
Seems kind of daft of me that people would be using Audacity when Adobe was *giving Audition away* not so long ago.


Some of us use operating systems that don't run Audition, and some of us also prefer open source.

"Useless" Dither

Reply #10
Seems kind of daft of me that people would be using Audacity when Adobe was *giving Audition away* not so long ago.


Some of us use operating systems that don't run Audition, and some of us also prefer open source.


Some people like to get audio work done well with a reasonable level of effort, while others use audio as a pretext to fiddle with software.

I get the 100,000 flavors of *nix as platforms for large volume dedicated applications, niches and low cost computing, but for day-to-day use paying the MS tax pays a lot of dividends of its own.

I appreciate the work that goes into freeware/begware products. I presume that people are doing this work because they want the sense of accomplishment. If it generates some cash for them, so much the better.

Note: My day job has been software-based most  of my life. Much of that software was exclusively source-maintained so I get the charm of that. But for me it is the utility of software that matters.

In the end, the lowest cost software one has is usually written by someone else, bought, and paid for. 

I paid about $220 for CEP 1.1  in the late 1990s, have banked a lot of money for work for hire based on it, done a lot of pro-bono work using it, and it still gets the job done very well.

I tried to keep up with Audition, but frankly don't see that Adobe has improved its functionality enough to make the change, even for free. I recently downloaded a current evaluation version of it, and it still has some of the same irritating omissions that CE from over 12 years ago did. The evaluation expired and that was that.

"Useless" Dither

Reply #11
FWIW you can make CEP (and probably Audition) do exactly the same silly thing. Thankfully its defaults don't do this.

I know why Audacity has chosen the opposite approach, and it makes some sense, but people don't like it when a piece of software changes their files without their explicit permission. It seems reasonable to assume that if you load and save something, and there's no format conversion, and the input and output are lossless, and you don't change anything, then no change to the data will take place. Of course audacity is doing a format conversion (to 32-bit float), but you didn't ask it to, and it didn't ask your permission, and that format conversion it perfectly reversible (though for good reason it doesn't use that lossless-if-no-change re-conversion). It does tell you it's converted to 32-bit float, and it does tell you it will dither on output, but you have to look, read, and understand.


At least in audio, we have plenty of widely supported open source properly interoperable file formats. This means that (at least at the most trivial level), you can used closed source software without being locked in.

Cheers,
David.

"Useless" Dither

Reply #12
It was my understanding that Audacity applies dither to every operation, not just when downsampling.  Is this incorrect?
I have been leaving dither disabled until I'm ready to export, then I enable triangle dither.

For OP's purpose, it seems like SOX or foobar2000 is the better option.

"Useless" Dither

Reply #13
I've been using Audacity to import dozens of ripped 16-bit FLAC files, line them up end to end, and then export them as a single long FLAC file. However, as a side-effect of Audacity treating the files as 32-bit internally, dither is added during the exporting process even though no actual manipulation of the original audio has taken place. While initially inaudible, I've noticed that the dithering noise 'stacks' every time the file is exported anew, so it could become problematic in extreme corner cases.

Is there any merit to leaving Audacity in 32-bit mode for such a purpose? I want to say there is no harm in switching it over to 16-bit so no conversion takes place between the original files and the final merged file, maintaining the original audio signal from the CD. Is there something else going on behind the scenes that could cause audio distortion if dithering is not enabled?

Should I even be using Audacity for this, or is there a much simpler program that can do the same without harming fidelity?


You might be worrying about a non-problem. The way that dither raises the noise floor is that it raises the noise floor starting at about -93 dB, and adds 3 dB more noise for each doubling of the number of times the file was re-dithered.

So, the resulting noise floor follows this pattern

1 copy -93 dB
2 copies -90 dB
4 copies -87 dB
8 copies  -84 dB
16 copies -81 dB
32 copies -78 dB
64 copies -75 dB
128 copies -72 dB
256 copies -69 dB

Someplace after 64 copies there might be a perceptible increase in the noise floor of a typical recording.

The first 4 copies are "free" because there are no commercial recordings known to me (and I've looked)  that have a noise floor that is even just 87 dB down.

Of course just about every audio tool that adds dither can have it switched off. It's just a matter of RTFM to enlighten yourself about the details.



with respect, that is not correct. The raise in the noise floor starts at where the noise floor was on the recording.

"Useless" Dither

Reply #14
He was talking about the noise floor due to dither. As he said you wouldn't notice several rounds of dither with typical recordings.
"I hear it when I see it."

"Useless" Dither

Reply #15
That doesn't follow . You cant justify adding noise by the observation that  typical  recordings allready have a certain noise level and therefore concluding that  adding the same amount again results in an inaudable aggregate of noise.

"Useless" Dither

Reply #16
I've been using Audacity to import dozens of ripped 16-bit FLAC files, line them up end to end, and then export them as a single long FLAC file. However, as a side-effect of Audacity treating the files as 32-bit internally, dither is added during the exporting process even though no actual manipulation of the original audio has taken place. While initially inaudible, I've noticed that the dithering noise 'stacks' every time the file is exported anew, so it could become problematic in extreme corner cases.

Is there any merit to leaving Audacity in 32-bit mode for such a purpose? I want to say there is no harm in switching it over to 16-bit so no conversion takes place between the original files and the final merged file, maintaining the original audio signal from the CD. Is there something else going on behind the scenes that could cause audio distortion if dithering is not enabled?

Should I even be using Audacity for this, or is there a much simpler program that can do the same without harming fidelity?


You might be worrying about a non-problem. The way that dither raises the noise floor is that it raises the noise floor starting at about -93 dB, and adds 3 dB more noise for each doubling of the number of times the file was re-dithered.

So, the resulting noise floor follows this pattern

1 copy -93 dB
2 copies -90 dB
4 copies -87 dB
8 copies  -84 dB
16 copies -81 dB
32 copies -78 dB
64 copies -75 dB
128 copies -72 dB
256 copies -69 dB

Someplace after 64 copies there might be a perceptible increase in the noise floor of a typical recording.

The first 4 copies are "free" because there are no commercial recordings known to me (and I've looked)  that have a noise floor that is even just 87 dB down.

Of course just about every audio tool that adds dither can have it switched off. It's just a matter of RTFM to enlighten yourself about the details.



with respect, that is not correct. The raise in the noise floor starts at where the noise floor was on the recording.



That is correct and its actually what I meant when I said:

"Someplace after 64 copies there might be a perceptible increase in the noise floor of a typical recording."

My analysis was as follows. I first calculated how repeated applications of dither (such as due to re-recording) would raise the noise floor of an ideal recording.  The point is that it takes a lot of generations to raise the noise floor appreciably. I then compared those results to real world recordings whose noise floor  is generally no better, and is often worse than -75 dB.

I suspect that many think that dither noise adds linearly, which of course being uncorrelated and random or pseudo random, it does not.




"Useless" Dither

Reply #17
Ah I see, dither has less effect on noisy signals,  and for  the typical recording the effect  starts near the bottom of your table.
And so to raise up the noise floor of a 75db noise floor by 3db you need to copy it 64 times

"Useless" Dither

Reply #18
Ah I see, dither has less effect on noisy signals,  and for  the typical recording the effect  starts near the bottom of your table.
And so to raise up the noise floor of a 75db noise floor by 3db you need to copy it 64 times



That is the message that I was trying to convey.  It takes a ton of generations of re-recording with dither to raise the noise floor to the point where it would be an audible contribution to the noise floor of modern recordings with exceptionally good dynamic range. As another post points out, most modern popular music recordings often fail to have exceptionally good dynamic range. In fact much of it has very little dynamic range at all.

It is true that in principle dither adds hiss to recordings, and this concern was dealt with decades ago. Usually the real world effect with 16 bit music is trivial.

Ordinary linear arithmetic does not apply to music or noise because these sounds are varying and uncorrelated. Furthermore, we talk about audio in terms of dB, but when you do math with signals you have to take the numbers out of the realm of dB and turn them back into regular numbers which further magnifies the mathematical significance of normal differences.  20 dB might not sound like much, but it is an order of magnitude and in engineering, effects that are an order of magnitude down can generally be ignored with no practical consequences.

For example, if you mix an uncorrelated signal that is 10 dB below a louder signal with that signal, adding the two together only raises their sum by less than 0.1 dB, which is not an audible change.

When analyzing music all signals from independent sources can be assumed to be uncorrelated. For example two musicians playing the same notes on identical instruments never get their timing and pitch close enough for the rules of linear addition to apply. They must still be treated as uncorrelated sources and added geometrically, not with simple arithmetic.

If you don't recall, geometric summing is based on the square root of the sum of the squares. By squaring the numbers, their differences are magnified, which means that the proportional contribution of the lesser quantity is vastly reduced.


Re: "Useless" Dither

Reply #19
I don't know where else to ask, sorry. There are two dither DSP plugins mentioned here and there: Smart Dither and MDA Dither. The former has the "high-pass filter the dither noise" option enabled by default, when is it appropriate to turn it off? The second uses the "second order noise-shaped" algorithm by default, is it better than TPDF? We're talking about subtle things here, so some explanation will come in handy.


• Join our efforts to make Helix MP3 encoder great again
• Opus complexity & qAAC dependence on Apple is an aberration from Vorbis & Musepack breakthroughs
• Let's pray that D. Bryant improve WavPack hybrid, C. Helmrich update FSLAC, M. van Beurden teach FLAC to handle non-audio data

Re: "Useless" Dither

Reply #20
The answer is in Reply #1.
If you alter the samples, you had to dither if you export to 16 bit because the  quantization error is correlated to the music signal.
If you just concatenates files (the subject of the OP), you don't alter samples so no need to add noise to bit 16!.

BTW: ever heard of necroposting?
TheWellTemperedComputer.com

Re: "Useless" Dither

Reply #21
Roseval, my question is about specifics of two different plugins to dither the output signal, so this is a continuation and extension of the original discussion, a new leaf on the same branch if you like. Unfortunately, there is no satisfying 'answer in reply #1', but I hope that someone familiar with the fine tuning will stumble upon this topic.
• Join our efforts to make Helix MP3 encoder great again
• Opus complexity & qAAC dependence on Apple is an aberration from Vorbis & Musepack breakthroughs
• Let's pray that D. Bryant improve WavPack hybrid, C. Helmrich update FSLAC, M. van Beurden teach FLAC to handle non-audio data

Re: "Useless" Dither

Reply #22
@Kraeved , better to hear it yourself. Dither to 8 bit with different options. Then listen and compare. You will understand what are differences and what sounds better for you.

Re: "Useless" Dither

Reply #23
I switched to using Foobar2000 for this kinda stuff, and it's been smooth sailing. No dithering weirdness, and it keeps things clean.