Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

That analysis misses that when you dither you sacrifice effective sampling frequency for dynamic range. 44.1KHz/16bit can represent that dynamic range, but it can't represent that dynamic range at a 44.1KHz sample rate.


It doesn’t need to. The ~80dB of dynamic range that a human ear can theoretically heard is at fairly low frequency of ~2-4kHz. Dynamic range drops off considerably at higher frequencies.

In fact, the upper limit of ~16kHz is defined by the intersection of the “threshold of pain” power curve and the “threshold of hearing” curve. So the human ear has zero dB of dynamic range at the upper frequency limit.


Ok, but what's the shape of those curves? I could believe that you can dither to adequate dynamic range and still have a high enough sampling frequency across the entire frequency range, but you'd have to actually do that calculation and show it. Also we don't just listen to pure tones - if I have a passage that includes both 12kHz frequencies and 4kHz frequencies with a bunch of dynamic range, are you going to be able to dither that without losing the high part?


Why does dithering sacrifice "effective sampling frequency"? You're just adding extremely small amounts of white noise to reduce quantization distortion or (in more advanced cases) noise with a power spectrum that puts the power of the noise mainly in parts of the audio spectrum that humans hear poorly.


This is not that (or it's an extreme special case of that); I'm talking about the thing the grandparent link is suggesting, representing amplitudes below 1 by having the sample sometimes be 0 and sometimes be 1. If you represent a waveform that should be 0.5 0.5 0.5 0.5 0 0 0 0 -0.5 -0.5 -0.5 -0.5 0 0 0 0 by doing 1 0 1 0 0 0 0 0 -1 0 -1 0 0 0 0 0, then yes you've increased your effective bit depth by 1, but you've halved your effective sample frequency.


What I described is what dithering always means in the context of audio applications.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: