Originally Posted by WiR3D
No by using a lossy algorithm to drop bits. 24(foobar)->16(windows+ final output)
Ie make sure foobar and windows are set to 24bit.
Sent from my HTC HD2 using Tapatalk 2
Wait. That's what he's talking about? Playing from foobar and outputting 24 bit from foobar when shared mode is set at 16?
Ok, that's not padding but it still doesn't matter what Win7 is set to because you can't even set the output bit depth with the DS output which goes through the mixer. AFIK you can only set it through foobar with WASAPI output (ASIO is set by the driver, IDK about KS) and foobar uses WASAPI exclusive which will bypass the mixer and sets the device to whatever sample rate your file is and whatever bit depth you set in foobar.
The bottom line is that if you use WASAPI exclusive mode like foobar's WASAPI plug in the music will never go though the windows mixer so it doesn't matter what the other settings are. That's probably why I misunderstood what MikeW was saying.
Lets talk a little more about bit depth and the windows mixer while we're at it. The Win7 runs internally at 32 bit FP. A program can stream data to the mixer at any any bit depth up to that and any SR up to (I think) 192khz. It then mixes and resamples the streams as necessary to output the bit depth and SR specified for shared mode. Resampling can be messy and introduce audible artifacts. The windows resampling algorithms are especially suspect because they have to be very CPU efficient.
Distortion is very easy to hear in pure tones and if I set my sine wave generator program to the wrong sample rate the mixer's SRC introduces clearly audible distortion. I can't say that I've noticed it from other sounds that go though the mixer but since I do my "serious" listening though foobar/WASAPI that mostly just leaves games, youtube, and system sounds which should mostly match up with my usual 44.1khz shared mode SR. In any case if you know that the distortion exists it's best avoided.
On to bit depth. The mixer runs at 32 bit FP for precision in mixing and volume control. In fact if you use the DS output foobar will output a 32bit FP stream. If you're not using the volume control or any DSPs it will pad the bit stream with zeros. Anything sent to the mixer at less than 32 bits will be padded as well. In fact if there are no streams to mix, the windows volume is at 100%, and the shared mode SR and bit depth match what you're playing, then windows will give you bit perfect playback without any special output mode like WASAPI or something. It will pad the word length with zeros, do no processing, and then truncate the extra zeros before sending the signal off to the device.
If you send a 24 bit signal to the mixer when shared mode is set to 16 bit it will just chop off those last 8 bits before sending it on to the device but that's not really all that bad. Bit depth only determines the dynamic range and noise floor. Nothing uses all of 16 bit's 96dB of dynamic range and you need to listen very loudly in a very quiet place to expose the signal's noise floor. Basically, 99% of the time truncating 24 bits to 16 doesn't change anything because you couldn't hear the 16 bit noise floor to begin with. At least if you're not using a digital volume control. That's why the ODAC is 24 bit device. It gives you headroom to lower the volume in either windows or your media player without raising the noise floor to an audible level.
If you don't have any hi-rez recordings then you can just set the ODAC's shared mode to 24/44.1 and not worry, even if you like the idea of bit perfect, because if you don't use the volume control it will be bit perfect whenever two things aren't playing once. If you're not a purist, the 24 bit word length lets you use the volume control without raising the noise floor to audible levels. If you want to use WASAPI exclusive mode to block system sounds and what not then set it to 24 bit as well. WASAPI will error out if you try to play a sample rate (or bit depth) the device doesn't support (like 88.2 for the ODAC) since there are no provisions for SRC. If you have such recordings you'll need to set up some kind of conditional resampler in your player or just make a separate copy and resample them.
That last part will be a pain for some people and probably disqualify the ODAC from their consideration but using a different USB chip that supported 88.2 would have raised the price for everyone even though 88.2 is a very uncommon format in the big picture.