Bit perfect playback

The holy grail of computer audio playback.
Feeding the unadulterated bits to the DAC.

 

An audio file has a:

Most of the time bit perfect playback refers to the absence of any type of DSP (Digital Signal Processing) like volume control, sample rate conversion, dither, etc.


True bit perfect playback is sending the audio file unaltered to the audio device.
Bit depth, sample rate, number of channels should remain unaltered.
This of course requires the hardware to match the properties of the audio source exactly.

 

Playing a 16 bits audio file on a 24 (or 32) bit DAC is not bit perfect by definition as to play it, 8 zero bits must be appended to each sample.
However appending 8 zeros won’t alter the sound.
It might even be beneficial as you can use these eight bits for 48 dB volume reduction without loss of resolution.

 

MSB first (Most Significant Bit)

1111111111111111 - 16 bits word

111111111111111100000000 - pad 8 bits for a 24 bit word

Apply volume control

111111111111111100000000 0

011111111111111110000000 -6

001111111111111111000000 -12

000111111111111111100000 -18

000011111111111111110000 -24

000001111111111111111000 -30

000000111111111111111100 -36

000000011111111111111110 -42

000000001111111111111111 -48

 

However this is a bit theoretical as very good DACs in practice resolve 19 bits leaving you with 3  bits or 18 dB effective volume control before there is audible degradation. Most DACs only have 17 or 18 bits of resolution, so a digital volume control can only apply 6 to 12 dB of attenuation before artifacts show up.
Once again, this applies to playing a 16 bit source on a 24 bit DAC.

More about digital volume control.

How to obtain bit perfect playback

This is a matter of disabling all DSP in your media player.
Configure the audio of your operating system right to avoid e.g. sample rate conversion.
Choosing the right drivers like WASAPI or ASIO.

See the Operating Systems section for more details.

Testing bit perfect playback

Either you believe you have your configured your system right or you proof it.
This can be done by playing a file.
Record the digital out of your sound device.
Load both the original and the recorded file in an audio editor.
Time align (crucial, they must start with the same sample at the same time)
Subtract the tracks.
If  you don’t  end up  all samples being zero, there is a difference so the recording is not bit perfect.

This is called the null test.

How many bits do you hear?

Even if you have bit perfect playback this does not necessarily means you hear them all.
DACs do differ in their ability to resolve the bits.
Some cannot even resolve all the 16 bits, some might go as far as 22.
This is called the linearity of a DAC.