HQ Player Explanation of by Jussi Laako (Author of HQPlayer)
When HQPlayer is used as a "standalone" software player your DAC is connected directly to your computer, commonly by USB cable. You then select your DAC from within HQPlayer as described in the above guide.
In HQPlayer's settings/prefs you select your DAC under "Device" and your DAC's name then appears there. (Except in the new Mac version as noted above).
In this case under HQPlayer's settings/prefs your DAC's name will be preceded by "default: "
This will only work with a DAC that can be recognized automatically by the NAA because it is a USB class 1 or 2 DAC which doesn't need proprietary drivers to work with Linux. This currently excludes the use of the exasound DACs
The main advantage of using an NAA is immunity from RFI and other impurities, which could be transmitted across your USB cable when the DAC is directly connected to your computer. This may particularly cause problems when the CPU is pushed hard, such as when using the more demanding filters in HQPlayer. Using an NAA you might be able to use the more demanding filters without damaging sound quality”
Why is "filtering" needed? Because otherwise upsampling/oversampling produces alias (distortion) components in frequencies above the original one. In down-conversion case it is even worse, because those components are produces below the original ones. D-A conversion also produces these components above half of the sampling rate frequency, and those are then removed by the analog reconstruction filters. Higher the sampling rate seen by the D-A conversion stage, simpler the following analog filter can be. Digital filters can easily outperform analog ones. Removing those spurious frequencies by filtering is called signal "reconstruction".
First is the filter selection, most of these can perform either up or down conversion, depending on what is needed.
Update on some recent changes regarding (Version) 2.9.1 and later:
There are now "poly-*-hb" filters for both up/down-sampling and DSD->PCM conversion. These are steep so called "half band" linear phase non-apodizing filters. These are in many upsampling cases completely reversible interpolation. Not really recommended for general purpose use, but interesting to play with.
The "poly-*" DSD->PCM converters (in DSDIFF/DSF Settings) have been heavily optimized and are now much faster while also having even more accuracy, so these are now actually one of the lowest CPU load while having best quality, most recommended choice now for the conversion.
Then to the next item, dither and noise-shaping. This is needed whenever any processing is performed. Reason is that calculations can lead to results that have more precision than can be expressed in the resolution supported by the DAC. Just truncating or rounding the result to fit the DACs precision causes distortion that is directly related to the signal. Dither hides this rounding error into very low-level non-audible constant noise (a bit like thermal noise) - then it's no more related to the signal. Noise-shaping takes this further by moving this noise to less- or non-audible frequencies. Especially multi-bit converters but to some extent others too also benefit from noise-shaped upsampling in improved linearity.
I don't recommend any noise-shaper for 44.1/48 kHz output rates, because there is no proper frequency space available where to park the noise.
There are number of noise shapers:
Third selection is set of available output sampling rates, computed based on what the hardware and selected filter are capable of, in combination.
Generally, I recommend choosing between "poly-sinc-*" filters and using highest possible sampling rate. Dither or noise-shaper chosen based on above description, "NS9" for 192 kHz output, "NS5" for 384 kHz output and "TPDF" or "Gauss1" for any lower rates...
To be continued, I'll make two other posts. One for the DSD->PCM conversion and maybe other one for PCM->SDM (DSD) conversion.
In DSDIFF/DSF Settings -dialog there are two selections, conversion type and noise filter.
Conversion type, this defines how the delta-sigma modulation is converted to lower rate PCM format:
Noise filter, this is used to reduce the ultrasonic high frequency noise of delta-sigma modulation:
Then there's the "6 dB gain" setting, since DSD is specified to have max -6 dB of the theoretical maximum level in use, the content may sound quiet compared to PCM after the PCM conversion. This setting enables 6 dB gain to match maximum specified DSD level to maximum possible PCM level. However, this should be used only for content that doesn't exceed the specified maximum. There seems to be also content out there that exceeds this maximum level and would thus result in overload. Whether this leads to limiting actually depends on the HQPlayer's volume setting...
In the same dialog there are two settings related to native DSD playback.
Regarding SDM (1-bit delta-sigma, or DSD in other words) output modes. So the player can perform all kinds of processing for PCM -> PCM, DSD -> PCM, PCM -> DSD and obviously DSD -> DSD.
When SDM output mode is selected in the main window, filter selection changes to control "oversampling" modes, matching descriptions of the earlier post. And dither selection switches to control the choice of actual delta-sigma modulator. Output sampling rate selector just shows SDM rates in MHz range, instead of PCM rates in kHz range.
There is also possibility to perform conversions like 192 kHz PCM to 2.8 MHz DSD. Or 2.8 MHz DSD to 5.6 MHz DSD (or vice versa). When processing is performed from DSD input to DSD output, all processing is performed at native rate, not at any low-speed PCM. The DSD -> PCM conversion now applies only when PCM output mode is selected and file being played back is DSD...
Also Jussi has a pretty good table with explanations of the various filters and dithers/noise shapers on pages 9-11 of his HQPlayer manual. I recommend printing them and keeping them near your PC for referral when you are changing to a different filter or dither setting. |