Here it is. Graphs and pix and everything.
So… The bottom line…
1. HQPlayer provides a nice collection of resampling digital filters to choose from. They work without overloading and suppress ultrasonic artifacts very well. It looks like HQPlayer does this by providing a bit of attenuation for the headroom, this is likely why if we compare the computed RightMark results, you’ll tend to see that the noise level appears higher and dynamic range lower with HQPlayer than JRiver 24 PCM-to-DSD measurements by about 3dB.
These filters would be a great complement if you’re running NOS DACs that can accept high samperate material, and the dithering algorithms provide many options for those who are still using 16-bit DACs. However, if your DAC already provides good filtering and you have no special needs around dithering, it’s unlikely you will hear any additional benefit unless of course you prefer to upsample PCM to DSD with the modulators provided.
2. HQPlayer needs quite a bit of horsepower if you’re planning to do realtime PCM-to-DSD/SDM conversion ; especially if you intend to aim for DSD256+. Your CPU also needs to have SSE4.2 instructions for the 64-bit version (should be fine with any reasonably fast CPU in the last decade). As I did in this post, you can offload some of the calculations to a nVidia GPU with CUDA. The caveat with this is that powerful computers and graphics cards are not fanless currently (and I don’t like the sound of computer fans in my sound room). One should then put the server in another room and stream through a high bandwidth gigabit ethernet system to a NAA (Network Audio Adapter) streamer.
3. F rom a sound quality perspective, I don’t think you could go wrong with any of the “sinc” resamplers and DSD modulators I tested out. While I remain agnostic around which DSD/sigma-delta modulator is “best”, I accept that people can have subjective opinions on this since there are real differences in distortion and noise levels between the different settings. Perhaps certain settings could lead to more “euphonic” output depending on one’s gear. But I believe sonic differences would be at best subtle though based on my own listening and what the results tell me.
4. Notice again, like the last time I measured the Oppo UDP-205 DSD playback, noise floor level increases particularly with the jump from DSD128 to DSD256 and goes back down a bit with DSD512. I suspect there is a good explanation for this. I have not tried measuring my other DSD256+ capable gear at this point to compare how non-ESS DACsperform.
5. The GUI works but is rather spartan compared to many player software out there. This is why historically HQPlayer is used in conjunction with software like Roon for the user interface and library functions. Consider this into the complete system price when incorporating HQPlayer.
Another issue I had was that the program seems to buffer whole tracks or at least large proportions of tracks then begin the conversion before playback. This is fine for PCM upsampling but when doing DSD256 or DSD512 conversion, it can take many seconds to start playback. This wears on one’s patience especially when it can take >10 seconds to start playback even with an overclocked >4GHz quad-core i7 processor with GPU assist. I know there are audiophiles who think buffering to RAM makes a big difference… But surely not when latency can be this severe, right?
6. Have fun with the demo and see if it meets your needs. It is a nice way to experiment on upsampling, trying different filter settings and listen to realtime PCM-to-DSD conversion with a 30-day trial. It’s good to have the experience as an audiophile.
All in all I think HQ Player passed with flying colours. The filters are clean and do what it says on the box. The differences between filters and modulators are subtle.
Archimago noted a setting anomaly and some inaudible artefacts using DSD5v2 256+fs at DSD 256 on the Oppo:
First, the most obvious is the yellow “AMSDM7 512+fs” tracing at DSD256. While “AMSDM7 512+fs” is meant for DSD512 only, when you activate it in the settings, it does allow the modulator to be used with DSD256 playback. And if one were to do so, the resulting playback noise floor looks like that of a DSD128 modulator (even though the Oppo verifies that it’s playing at the DSD256 sample rate). Looks like a “hole” in the settings that should be closed off or fixed.
The other anomaly is some strange noise artifacts when playing the “DSD5v2 256+fs” modulator at DSD256 on the Oppo. It’s subtle on the graph above with all the tests overlaid, but here are 2 runs showing the same anomaly in that frequency range (I actually ran this 3 times showing the same thing, but forgot to save the results for one of the runs):
…
Strange considering that I did not have any issue like this elsewhere at DSD256 and even with DSD512 settings. Of course, given that this is all >35kHz and way below -100dBFS, it would not be audible.
In his conclusions (see post above) Archimago noted a difference in the Oppo noise floor moving from DSD128 through 256 to 512. It is possible these artefacts are somehow associated with the Oppo or the ESS chip, not just HQP.
I wish Archimago had a Holo Audio Spring to use for testing !
His other criticism is about buffering, but I think this is limited to poly-sinc and poly-sinc-mp. Does anyone get buffering delays with other filters ?
So a hearty congratulations to @jussi_laako ! Not many products/services survive such close independent analysis with so few glitches.
I enjoy reading Archi’s stuff but I think some may overestimate his expertise in some aspects of measurements.
A couple of interesting recent threads where @jussi_laako (Miska) has dropped some serious knowledge recently, especially regarding measurements:
BLIND TEST INVITE: Do digital audio players sound different? - General Forum - Audiophile Style
and
Assertions on DACs & Digital Audio - DAC - Digital to Analog Conversion - Audiophile Style
Jussi’s posts in these threads are well worth a read.
I have not yet figured out where that is coming from, when comparing to my results with Pro-Ject Pre Box S2 Digital which uses cheaper version of the same DAC chip (ES9038Q2M) in dual-chip configuration. Which is clean. Could be some interaction with the ADC too. Or something to do with the Mediatek chipset they use for all independent playback if that data passes through it.
I don’t have any 9038Pro DACs here, I was planning to buy their standalone DAC, but then Oppo discontinued all those products so I dropped the idea. Need to check again if I can find something suitable with 9038Pro at decent price.
It is not actually buffering, but just DSP initialization. Which runs full blast on all available CPU cores, but still takes some time depending on settings.
Thank you!