The Sabre DAC Digital Volume Control: Better than Analog?
The ESS Sabre DAC built-in volume control
The volume control is done just before the oversampling filter on the digital data. It can be set to 0.5dB increments and in order to avoid clicking upon volume level changes, it goes through 64 intermediate levels to move 0.5dB. In addition, the volume does not instantly change when you request, rather it logarithmically moves to the desired level. The way this shows up in a system implementation is that the sound softly changes levels.
The code implements the digital volume control and provides the following features:
- Stereo and Mono (easy to modify to support 8-channel volume)
- -99 dB to 0dbB in 1 dB increments. I find the minimum resolution of 0.5 dB too small to be practical. Volume levels can be changed with the rotary encoder or the remote control
- Volume “DIM”, with SMOOTH return. The volume is dimmed to a predetermined volume. It is currently set to -80 dB. When you “undim”, the volume returns to the prior volume setting in a smooth, “logarithmic” mode to provide a smooth transition to the listener. I found that a linear ramp appeared to abrupt of a change. Volume DIM is currently available only in the remote but it can be implemented in the controller with a button switch
- Power-on volume is always set to -50 dB (it an be easy to remember the last set volume, but starting with a predetermined low volume seems a more practical and safer approach
Digital Volume with 16-bit audio: the truncation problem
32-bit Digital Volume Control
The digital volume control in the ESS Sabre DAC owes its performance to the availability of a wide internal data path. Using a 32-bit data path, the truncation error (or lack of truncation error) that results from digital attenuation does not reduces the SNR of the DAC.
For a much better explanation on how this work, check the recent presentation on digital volume control from ESS.
In conclusion, the presentation says:
The message here is that 32-bit digital volume control can beat or match most analog volume controls unless they can beat the -135dB number. (or -132dB in stereo configuration). Note also that DNR is the same weather in voltage or current mode; only THD is enhanced in current mode.
But there is more:
Consider the following recommendation of using iTunes Sound Check:
“Do music a favor by having SOUND CHECK ON by default”
The context of the presentation is the loudness problem with contemporary recordings. You can read more about this here: [link] and watch a video of the presentation here [link]. The presentation has several demos illustrating how some types of distortion sound.
According to the presentation, headroom is needed in several places of the signal path:
- Filters (digital and analog)
- Sample Rate Converters
- Data Reduction Codecs (e.g. AAC or MP3)
As 0 dBFS+ level is hit more and frequently on new pop/rock releases, distortion is created through the signal path. Audiophiles do not typically use data reduction codecs; but DACs and filters cannot be avoided.
The recommendation to use Sound Check is to lower the peak levels in the digital domain in order to avoid the potential distortion that can result from the lack of headroom.
In the Sabre DAC the volume adjustment is done prior to the Oversample Filter (which is also before the built-in ASRC). Normal listening volume is typically many dBs lower than the 0 dB level, thus effectively eliminating the potentially distortion-causing peaks present in modern recording.
Compare this with the “traditional” way of handling volume control: pass the signal at full magnitude through the DAC and then do attenuation in the analog domain through a preamp. If over aggressive signal peaks generate distortion in the DAC, they these can only be attenuated in the preamp but never eliminated.
This fact alone makes digital volume control superior to analog volume control
Digital Volume Control -done the right way is a paper by Weiss describing the use of dithering. -I think if you have a large enough data path (like 32 bit), then you won’t have to worry about using dithering because either there is no truncation or the truncated value is below the noise level. There is no mention of the ESS DAC using dithering in the data sheet.
The Wolfson 8741 DAC which has an internal path of 24-bit has dithering control in the register setting. The datasheet specifies:
Dither is applied whenever internal truncation occurs. It is also used when 32 bit input word is applied to the DAC prior to truncation to the internal wordlength. Three types of dither can be selected (in the digital filter) to allow the sound quality of the device to be optimized.
Here is good paper explaining what dithering does to the spectral response of a truncated signal: Dither Explained by Nika Aldrich