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: ADPCM and dither (Read 5190 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

ADPCM and dither

Hi

I'm working with an ADPCM decoder (4bit - XA) and output is floating point (32 bit) as the filters are floating point. This needs to be output at 16bits so I'm adding some triangular dither before the coversion. The output has noise of at least 2bits (at 16bit) compared to the original so is it even worth dithering. My results seem to indicate that theres no benefit but could there still be some truncating error above 2bits of noise?

Thanks

ADPCM and dither

Reply #1
I’ve yet to find any audio where dithering when converting to 16 bit has an audible benefit. It is easy to demonstrate a difference between dither and no dither with test tones, but that difference can only be heard on very low amplitude signals and only by using extreme analogue amplification on playback. For levels where one can actually listen to music, i.e. where every part of the signal isn’t at a very low amplitude, I’ve been unable to find any audible difference. I’ve been requesting samples from people who believe otherwise, but no one has volunteered anything.

ADPCM and dither

Reply #2
I’ve yet to find any audio where dithering when converting to 16 bit has an audible benefit. It is easy to demonstrate a difference between dither and no dither with test tones, but that difference can only be heard on very low amplitude signals and only by using extreme analogue amplification on playback. For levels where one can actually listen to music, i.e. where every part of the signal isn’t at a very low amplitude, I’ve been unable to find any audible difference. I’ve been requesting samples from people who believe otherwise, but no one has volunteered anything.


As you are proably aware, the reason why you can't hear any differences due to dithering is because the source material is more than noisy enough all by itself to provide enough dithering to do the job.

There may be a few exceptions to this general rule, so really paranoid people add a little dither, anyway.

ADPCM and dither

Reply #3
I’m aware that self dithering occurs but you can’t have read much in this forum, let alone many other places, without knowing that paranoia doesn’t seem to cover all the ground. There seem to be quite a few people who express conviction on technical grounds that dithering is an absolute necessity for any operation producing quantization errors, let alone a bit depth reduction.

I don’t think inherent noise covers everything, however, although it seems to apply to any real music I can get my hands on.  Computer generated tones, at a low enough amplitude (seems to start at about -75dB for me) will sound different when converted to 16 bit -- without dither vs with dither. The difference is not the dither noise itself, especially if reasonable noise shaping is used.

The difficulty here is that for the difference to be audible, major amplification is necessary. If there is much signal at reasonable music amplitudes, it becomes too loud to listen to at the amplification necessary to hear the dither/non-dither difference, so once again, effectively, dither makes no appreciable difference.

ADPCM and dither

Reply #4
No difference is what I thought, Thanks Arnold I just wanted to be sure. Andy I can actually understand the addition of dither on any form of truncation even if its audible as unless you can be certain that there will be no futher processing on the signal those truncation errors might start creeping through to audible levels after a few passes through an equaliser (the dither doesn't just mask the error but actually helps to keep accuracy beyond the last bit especially for lower frequencies). Of course noise shaped dithering defeats this purpose as further processing might bring the noise moved outside the hearing range back into the audible range so it onlys suitable when you know there will be no further processing. The one place I have heard a small difference when using dither in normal music is with slow fade outs but this was where the source material had some of its own distortion.

 

ADPCM and dither

Reply #5
Of course noise shaped dithering defeats this purpose as further processing might bring the noise moved outside the hearing range back into the audible range so it onlys suitable when you know there will be no further processing. The one place I have heard a small difference when using dither in normal music is with slow fade outs but this was where the source material had some of its own distortion.


I have some experience with ways that  "further processing might bring the noise moved outside the hearing range back into the audible range " and don't see it as much of a practial concern. IME it takes an exceedingly nonlinear processing step to do such a thing, and people only exceedingly rarely do such things to music that they are ripping and coverting for use in music players.