Quick Dither Question
-
- KVRist
- 392 posts since 21 Sep, 2011 from Northern California
Hello, I am doing some sample rate/ bit depth conversion. I found r8brain which afaik is the best free src available. So, here is what I do:
1. render from Reaper
2. convert in r8brain
3. import converted file back into reaper, add dither plug on master track (without any src or other changes at all).
4. render (again).
So, my question is: is this the correct sequence of events? Am I doing something wrong? I never bothered to dither before so I am kind of new to the process. Thanks if anyone can help!
1. render from Reaper
2. convert in r8brain
3. import converted file back into reaper, add dither plug on master track (without any src or other changes at all).
4. render (again).
So, my question is: is this the correct sequence of events? Am I doing something wrong? I never bothered to dither before so I am kind of new to the process. Thanks if anyone can help!
-
- KVRian
- 653 posts since 4 Apr, 2010
To be clear:
Dither when you reduce bit depth.
In particular, dither when you reduce bit depth below 24 bits. Usually, that means when you go from 24 bits (or 32-bit floating point, etc.), to 16 bits (the most common output format—CD).
(Note: Some people might tell you to dither always when reducing bit depth, but as a practical matter it's a waste of time to dither from from a higher bit depth to 24-bit, since there is no way you're going to hear the "improvement" when it's ~140 dB down. Do it or don't do it—you won't hear the difference, and even if you'd like to think you have super ears, it would be buried in the noise floor on any converters on the planet.)
Note that when you mix a bunch of 16-bit tracks, you end up with more than 16 bits of result, and your DAW is most likely working at fixed 24-bit, or floating 32- or 64-bit—you need to dither for 16-bit output.
http://www.earlevel.com/main/1996/10/20/what-is-dither/
http://www.earlevel.com/main/2010/11/07 ... of-dither/
Edit: I should also point out that you don't even need to combine 16-bit tracks to get something greater than 16 bits. Just doing a gain change expands the number of bits (just as two 2-digit numbers yields a 4-digit number—99x99=9801, .99x.99=.9801).
Dither when you reduce bit depth.
In particular, dither when you reduce bit depth below 24 bits. Usually, that means when you go from 24 bits (or 32-bit floating point, etc.), to 16 bits (the most common output format—CD).
(Note: Some people might tell you to dither always when reducing bit depth, but as a practical matter it's a waste of time to dither from from a higher bit depth to 24-bit, since there is no way you're going to hear the "improvement" when it's ~140 dB down. Do it or don't do it—you won't hear the difference, and even if you'd like to think you have super ears, it would be buried in the noise floor on any converters on the planet.)
Note that when you mix a bunch of 16-bit tracks, you end up with more than 16 bits of result, and your DAW is most likely working at fixed 24-bit, or floating 32- or 64-bit—you need to dither for 16-bit output.
http://www.earlevel.com/main/1996/10/20/what-is-dither/
http://www.earlevel.com/main/2010/11/07 ... of-dither/
Edit: I should also point out that you don't even need to combine 16-bit tracks to get something greater than 16 bits. Just doing a gain change expands the number of bits (just as two 2-digit numbers yields a 4-digit number—99x99=9801, .99x.99=.9801).
My audio DSP blog: earlevel.com
-
- KVRist
- Topic Starter
- 392 posts since 21 Sep, 2011 from Northern California
O.k., thanks. I am not dithering the version that will go to youtube, since it will be reconverted anyway. I am only dithering a 44/16 (from 24/96) for the purpose of distribution in .wav format.
-
- KVRist
- Topic Starter
- 392 posts since 21 Sep, 2011 from Northern California
Afaik R8brain does not have dither? I am using the free version, and I did not see mention of it anywhere. Thanks for the heads up, I will have to make sure that I am not hitting it twice!
-
- KVRian
- 1264 posts since 3 Jul, 2009
Maybe I don't have a clue what you are trying to do but why you add dither plugin in step 3, if you already did src?Panphobia wrote:Afaik R8brain does not have dither? I am using the free version, and I did not see mention of it anywhere. Thanks for the heads up, I will have to make sure that I am not hitting it twice!
-
- KVRian
- 653 posts since 4 Apr, 2010
Dither's a normal thing. I have no kind of accounting for what various audio program do, but I'd be stunned if any of them reduced bit depth (of consequence) by simply truncating (or rounding—same thing, effectively).Panphobia wrote:Afaik R8brain does not have dither? I am using the free version, and I did not see mention of it anywhere. Thanks for the heads up, I will have to make sure that I am not hitting it twice!
From the Voxengo page:
r8brain PRO's bit-depth conversion is limited to flat dithering. We have decided not to implement noise-shaping dithering because pro audio production software available on the market usually offers the user noise-shaping dithering of some kind already. We also based our decision on the fact that the sample rate conversion process often adjusts peak structure of the original program material, thus, in many cases, making a subsequent peak-limiting a necessity. To prevent output audio from clipping we have implemented a level normalization feature.
http://www.voxengo.com/product/r8brainpro/
Dithering's pretty easy and low cost, but there are more exotic forms that push the error energy to less-noticieable areas of the spectrum (the "noise-shaping dithering" they refer to). By "flat dither", I'm sure they mean TPDF (triangular probability density function), which spreads the noise evenly across frequency.
My audio DSP blog: earlevel.com
-
- KVRist
- Topic Starter
- 392 posts since 21 Sep, 2011 from Northern California
Well like I said, the free version does not say whether or not it uses dither. Dither has to be applied after src, right? If done before, the src will destroy the dither? Sorry, I thought this was going to be a fast one! Thanks for all who have helped out so far.sonicpowa wrote:Maybe I don't have a clue what you are trying to do but why you add dither plugin in step 3, if you already did src?Panphobia wrote:Afaik R8brain does not have dither? I am using the free version, and I did not see mention of it anywhere. Thanks for the heads up, I will have to make sure that I am not hitting it twice!
-
- KVRian
- 653 posts since 4 Apr, 2010
To rephrase what I said earlier, dithering is needed whenPanphobia wrote:Well like I said, the free version does not say whether or not it uses dither. Dither has to be applied after src, right? If done before, the src will destroy the dither? Sorry, I thought this was going to be a fast one! Thanks for all who have helped out so far.
a) You reduce word length
AND
b) you reduce it to short enough word length to matter (hear)
"a" happens constantly in signal processing—inside of filters, when applying gain—when doing just about anything interesting at all. A multiply doubles the word length, basically, and normally the result needs to fit back in the original container.
"b" normally happens when you're saving a file (a mix, for instance) as 16-bit or less.
(Sure, 18 bits would be a candidate too, for example, but when was the last time you save an audio file as 18-bit? Basically, we're talking about 16-bit destinations. But if you were manipulating sounds to fit in an ancient 8- or 12-bit sampler, dither would be even more important there.)
I would expect that any modern software dithers automatically when needed, though I suppose that more exacting ones either give you more control over that dither. For the most basic proper dither, you'd just need the ability to add TPDF noise (two random numbers added together) of the proper amplitude to a signal before truncating it to the destination word length.
My audio DSP blog: earlevel.com
-
- KVRian
- 1264 posts since 3 Jul, 2009
Okey now I get it, so you basically do:
1. render from Reaper
2. convert in r8brain (sample rate)
3. import converted file back into reaper, add dither plug on master track (without any src or other changes at all).
4. render (again) with Reaper's bit depth conversion
1. render from Reaper
2. convert in r8brain (sample rate)
3. import converted file back into reaper, add dither plug on master track (without any src or other changes at all).
4. render (again) with Reaper's bit depth conversion
-
- KVRian
- 653 posts since 4 Apr, 2010
Yes, that's right—assuming Reaper doesn't already dither in the bit depth conversion (or you can turn it off). If it does dither, you'll just be increasing the noise floor a little bit.sonicpowa wrote:Okey now I get it, so you basically do:
1. render from Reaper
2. convert in r8brain (sample rate)
3. import converted file back into reaper, add dither plug on master track (without any src or other changes at all).
4. render (again) with Reaper's bit depth conversion
My audio DSP blog: earlevel.com
-
- KVRist
- Topic Starter
- 392 posts since 21 Sep, 2011 from Northern California
Thanks so much guys! I bet that you are right, and that r8brain free does have dither. I guess the easy way would be to shoot them an email and ask lol. I turned off Reapers dither because I read in several places that reaper is not so good at SRC (although I am sure its dither is fine.) Thanks again, I will post back here if Voxengo responds.