The holy grail of computer audio playback.
Feeding the unadulterated bits to the DAC.
An audio file has a:
True bit perfect playback is that the audio file is send unaltered to the audio device.
Bit depth, sample rate, number of channels and the format should remain unaltered.
This of course requires that the hardware matches the properties of the audio source exactly.
How to get bit perfect playback
Bit depth
A lot of audio is 16 bits and this is supported by almost all sound cards.
Playing 24 bit audio on a 16 bit sound card is not bit perfect by design.
The samples must be converted to 16 bit and dithered.
Playing 16 bit audio on a 24 bit sound card is a matter of adding 8 zeros to the sample.
This won’t affect sound quality as no information is discarded.
There is even a benefit; you can apply digital volume control up to -48 dBFS without loss of resolution.
Sample rate
If you have a sound card playing at 48 kHz only, you will never play at native sample rate unless the source is 48 kHz too.
If your sound card supports multiple sample rates then the question is if automatic sample rate switching is supported.
This depends on your media player and the driver you are using.
In case of Win7 the default driver for audio is DS (Direct Sound).
All audio is send to the Win audio engine in the default sample rate.
This is a setting you choose in the audio panel.
If you set this setting to match your audio source e.g. 44.1 kHz you expect bit perfect output.
Inside the audio engine everything is converted to 32 bit float, mixed if needed and then converted back to the bit depth of the audio device.
As the audio engine expects mixing en volume control, the output is dithered.
It looks like using DS won’t give you bit perfect playback even when you match the sample rate manually.
Drivers like ASIO or WASAPI talk straight to the driver of the sound card.
This allows for changing the settings of the sound card to match the source e.g. setting the sound card to the sample rate of the source.
One thing is obvious; you can get bit perfect playback only by choosing:
Feeding the unadulterated bits to the DAC.
An audio file has a:
- Bit depth (most of the time 16 or 24 bits integer)
- Sample rate (44.1 kHz, the CD standard, 48 kHz or higher)
- Number of channel (mono, stereo, 5.1)
- Format: PCM, DSD, etc.
True bit perfect playback is that the audio file is send unaltered to the audio device.
Bit depth, sample rate, number of channels and the format should remain unaltered.
This of course requires that the hardware matches the properties of the audio source exactly.
How to get bit perfect playback
Bit depth
A lot of audio is 16 bits and this is supported by almost all sound cards.
Playing 24 bit audio on a 16 bit sound card is not bit perfect by design.
The samples must be converted to 16 bit and dithered.
Playing 16 bit audio on a 24 bit sound card is a matter of adding 8 zeros to the sample.
This won’t affect sound quality as no information is discarded.
There is even a benefit; you can apply digital volume control up to -48 dBFS without loss of resolution.
Sample rate
If you have a sound card playing at 48 kHz only, you will never play at native sample rate unless the source is 48 kHz too.
If your sound card supports multiple sample rates then the question is if automatic sample rate switching is supported.
This depends on your media player and the driver you are using.
In case of Win7 the default driver for audio is DS (Direct Sound).
All audio is send to the Win audio engine in the default sample rate.
This is a setting you choose in the audio panel.
If you set this setting to match your audio source e.g. 44.1 kHz you expect bit perfect output.
Inside the audio engine everything is converted to 32 bit float, mixed if needed and then converted back to the bit depth of the audio device.
As the audio engine expects mixing en volume control, the output is dithered.
It looks like using DS won’t give you bit perfect playback even when you match the sample rate manually.
Drivers like ASIO or WASAPI talk straight to the driver of the sound card.
This allows for changing the settings of the sound card to match the source e.g. setting the sound card to the sample rate of the source.
One thing is obvious; you can get bit perfect playback only by choosing:
- hardware supporting multiple sample rates,
- hardware driver supporting multiple sample rates (See post #3)
- a driver allowing for direct communication with the sound card,
- a media player supporting this driver and capable of setting the properties of the sound card to match the source.
Last edited: