Bit perfect playback

Bit perfect playback is sending the audio file unaltered to the audio device.
Bit depth, sample rate, number of channels should remain unaltered.

 

It is often advocated as the way to improve sound quality.
This of course cannot be the case.
If you deliver an audio file unaltered, its quality will remain the same so no improvement at all.

 

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.
However this also exclude tools like EQ or DRC.
EQ (Equalizing) is very popular in the headphone world.
The frequency response of headphone is often pretty ragged.
Likewise the tuning might not be your stye (often pretty bass heavy).
Applying EQ can improve the sound quality.


Likewise DRC (Digital room correction) has become popular. You compensate for room modes by creating a target response.
Be it EQ or DRC, you are as bit imperfect as you can be to get better sound quality.


If you think bit perfect is the holy grail of computer based audio, you sacrifice all these options.


A better and most of all more useful definition is to avoid unnecessary processing that might result in a possible degradation of the sound quality.
This is often done by bypassing the audio part of the operating system.

 

A PCM audio file has a number of channels, a bit depth and a sample rate.

Number of channels

Most of the time they are 2 (stereo) and remain unchanged as most DAC's are 2 channel.
However, if you have a 5.1 discrete soundcard you might up-mix to surround.
As this requires DSP, the result will be dithered. You might decide to use the highest precision possible and this is obtained by the bit depth.

Bit depth

Today almost all DAC's are 24 bit (or even 32).
But you want to be bit perfect so when playing 16 bit audio, you set the OS to 16 bit and if you play 24 bit, you set the OS to 24 bit.

Sound plausible but it isn't.


A 16 bit recording has a maximum dynamic range of 96 dB.
A 24 bit recording has a maximum dynamic range of 144 dB.
Observe, this is what the audio format allows for, don't mistake this for the actual content (the music)!.
However, the bit depth as set in the audio panel of the OS is about the data path to the DAC. Basically it is the arithmetic precision.
Play 16 bit audio, apply 48 dB attenuation and set the OS to 16 bit.


1111111111111111
0000000011111111


Obvious you will loose 8 bits of resolution as you force the OS to truncate to 16 bit.
If you do the same, this time with the OS set to 24 bit


111111111111111100000000
000000001111111111111111


You will have 48 dB attenuation and still full resolution!
This is of course a bit theoretical as no playback chain can resolve signal at -144 dBFS but you do improve on "resolution".
Likewise dither.
If DSP is done, dither must be applied when using 16 bits.
In case of 24 it is probably superfluous as dither is decorrelating the LSB and at -144 this is not audible.


There is also a practical reason not to use 16.
Even a stone age protocol like SPDIF uses 24 bit for the audio. No reason to truncate to 16 and have it padded under the water with 8 zero bytes to fit into the 24 bit audio part of this protocol.

 

Always set the bit depth to the max supported by your audio device.

Sample rate

Your best bet is to play everything at its native sample rate.
By doing so you avoid any possible artifact.
Unfortunately none of the popular operating systems support this out of the box.
There are tricks to do so.
In Windows you need a media player supporting WASAPI Exclusive.
In MacOS a media player supporting hogmode.
In Linux configure ALSA
In Android use a USB DAC
Your best bet is to set the operating system to what is common.
In case of audio this is 44.1 kHz (yes, the CD format).

What happens next?

That depends very much on the DAC.
Unless you have a NOS (Non OverSampling) DAC, the audio will be up- or over-sampled by the DAC. Modern DAC’s often use ASRC (Asunchrounous Sample Rate Conversion) to reduce input jitter.
They might also apply digital volume control, etc.
Obvious, bit perfect is about the path between your media player and you DAC only.