EQ and Bit Depth
Nov 11, 2013 at 5:52 PM Thread Starter Post #1 of 4

manbear

Headphoneus Supremus
Joined
Aug 4, 2011
Posts
1,896
Likes
232
I have a question about EasyQ (or just EQ in general) on Foobar.

Right now, I'm using WASAPI and I have the bit depth set to 24 bits in Foobar. I know there is some debate about whether WASAPI improves sound quality, but I just use it because it's the easiest way to set everything to 24 bits. 

I'm using EasyQ, which obviously involves some digital attenuation (adjusting below 0, not above 0). My question is: Does WASAPI give me 24 bits before or after EasyQ does its thing to the signal? Meaning, is EasyQ taking me from 16 to 15 (or however many) bits, and then the extra 8 bits are added, OR are the extra 8 bits added first, so EasyQ takes me from 24 to 23 bits? 
 
 
Nov 11, 2013 at 6:09 PM Post #2 of 4
The chain with WASAPI looks something like this:
 
File -> foobar2000 input module -> Decode to 32 bit floating point -> apply all DSP effects, internal volume control (all working on 32 bit data, but may even work with 64 bit samples internally) -> quantization to 24 bits through the foobar2000 output module -> WASAPI (gets the 24 bit data) -> audio device
 
 
With Direct Sound (DS), the end changes:
 
effects -> output (still 32 bit) -> DS -> Windows sound engine: resampling, mixing, but only if necessary (still 32 bit) -> quantization (24 bit) -> audio device
 
Nov 11, 2013 at 6:31 PM Post #3 of 4
Thanks! If I understand correctly then, EQ is working with 32 or 64 bits, so there's no chance it's chopping off musical information?

If so, why do people say that 24 bit output is better than 16 when using digital volume control? It seems like I could just leave output at 16 bits if the volume control is acting on 32/64 bits? 
 
Nov 11, 2013 at 7:57 PM Post #4 of 4
Think of it this way: how would you fit a 24 bit sample into 16 bits? The smart choice is by removing the lower 8 bits.
 
Attenuation is essentially doing the same, shifting the bits to the right eliminating the lowest (least significant) bits. -6 dB corresponds to about 1 bit.
 
If you attenuate a 16 bit song by 48 dB (= 8 bits) you're left with effectively 8 bit audio. As such, the signal to noise ratio will suffer a lot and you might be able to hear the quantization noise.
EQ is the same really, just limited to a certain frequency range.
 
 
The idea with setting the output to 24 bits is that after attenuation there is still enough effective bit depth left to not hear quantization noise.
 
 
 
Maybe an example will help clarify further:
24-bit value: 7067064
Attenuation by 20 dB (1/10th) would theoretically result in a sample value of 706706.4 but since we're dealing with 24-bit integers here this has to be rounded to 706706, so we lost a tiny bit of information.
 
 
  Thanks! If I understand correctly then, EQ is working with 32 or 64 bits, so there's no chance it's chopping off musical information?

And that is indeed the case as long as the samples remain in that 32/64 floating point format! (unless you go completely crazy with your EQ filters or attenuation)
 

Users who are viewing this thread

Back
Top