Falling Down the Rabbit Hole of HQPlayer

Anyone else here fall down the rabbit hole of HQPlayer?

I’m 99% sure this was not the best use of time / money for me at the level I’m currently at in my gear - but I’m 100% sure I’ve had fun getting it up and running! And that’s what counts, right? right?!?!

The big idea with HQPlayer is to bypass as much of the onboard DSP in your DAC as possible, and feed directly the final D to A section (at least as directly as possible). The internal DSP in a DAC is limited by the computational power of the processors / FPGAs included in the DAC. By sending the DAC either max PCM rate (thereby avoiding internal up-sampling) or DSD (bypassing the need for up-sampling and sigma-delta modulation) you can implement your own choice of filter functions, modulators, noise shapers, etc. The only limitation is your CPU / GPU performance.

I’m running HQPlayer via Roon on a 2018 i5 Mac Mini (definitely not able to run HQPlayer at max settings, but as I’m finding this isn’t always required for best sound), with a mix of RopieeeXL endpoints and HQPlayer OS endpoints. Getting it to play smoothly has been a mix of learning how HQPlayer works, learning about thermal management on the Intel i5 CPU (ie, it can’t hold turbo forever!), and some amateur home network engineering. It’s been running stable for the last several days (ie no glitches in playback), and I’ve been able to focus on specific configurations for each DAC I have.

This software is a tinkerer’s delight! “what if I try different noise shaping?” or “what if I try a different up sampling filter function?” or “what if I try DSD modulation?” or “what if the sigma-delta modulator utilizes extended compensation?” or … or … or …

My DACs are decidedly entry / mid-level, making usage of HQPlayer a questionable decision on my part. There’s no way I’m hearing the full benefit of a tool like this. But it’s still very interesting how simple AKM based DACs like the Topping E30 sound different (maybe better?) when being fed by a DSD256 le istream (whin DSD bypass mode) than when fed by simple 16/44.1 PCM. For sigma-delta based DACs, I’ve found that up-sampling and modulating to DSD256 creates a noticeable improvement in depth and instrument separation. I can pick out instrument placement better. It also seems to take out some of the “metalic harshness” (can’t think of a better term for it) that these DACs can sometimes have. But if you really push HQPlayer with its most computationally aggressive filters, noise shapers, modulators, the sound can start to become overly sharpened (to my ear).

On the Soekris dac1321, modulating to DSD was a step backwards. Just up-sampling to the max PCM rate it supports (8x rate - 384kHz) gave the best result. Just a little bit more clarity and depth over over straight 16/44.1 PCM. But again, heavy noise shaping and phase compensated filters gave it an over sharpened edge.

IMO, the right settings in HQPlayer are the ones that don’t make a massive change over the native sound of the DAC. Try to match the stock DAC sound first, then tweak for a slight upgrade. Not a radical sound signature change. I guess this is similar to the recommendations that go with EQ’ing. Small changes, not radical re-tuning.

At any rate (haha, get it? “rate” :slight_smile: ), it’s been fun to experiment with. Has anyone else tinkered with this piece of software? Curious to hear other people’s thoughts / opinions / configurations / use cases / etc.

And just to put it out there, if there are any HQPlayer nerds on the forum, my favorite configuration so far is:
→ Filter function: poly-sinc-gauss
→ PCM Dither / Noise Shaper: LNS15
→ Sigma-Delta Modulator: ASDM7 512+fs at DSD512

6 Likes

I’ve been considering giving it a whirl, but the thing that puts me off is having to connect the DAC via USB to get high enough sampling rates to make using it worthwhile.
Everything I’ve tried up to this point suggests that using USB is detrimental.

I might still give it a shot, possibly using the USB a on a Pi4 for the actual connection.

I’ve seen people who absolutely love what it does and those who say while it increases stage, it masks detail.
Interested in your experiences.

4 Likes

I feel like it’s one of those things that’s just both super dependent on the dac you have (some will take well to upsampling and dsp, some will absolutely not), and also on what you feel like hearing as from my experience HQ player has almost always made things more technicality focused for the better or worse so if you prefer that it could depend

2 Likes

Yes, definitely a limiting factor. A simple RPi4 does the trick, but to really do it right I suspect galvanic isolation and other USB “decrapifier” tricks could come into play…

This could be true, but for the gear I’m using I don’t hear a loss in detail. Maybe if I had a more resolving system this would be noticable.

This is easily true. My guess is many DACs, especially on the higher end, and already carefully tuned for the onboard DSP. Changing the DSP won’t make the D to A in the DAC better. It’ll just change the data coming into it, for better and worse.

Yeah, I can see this. I need to put a few more miles on my listening to draw a conclusion here…

1 Like

I did give the trial a whirl but I didn’t understand a lot of the settings/filters.
I’m sure there’s info out there but it was too much effort at the time I was trialing it.
What I will say is that it kind of sounded artificial but that’s probably because of my DAC or settings.
I didn’t bother with it after that since it was kind of inconvenient to use.
Maybe I’ll give it another go in the near future…

1 Like

Once you have it setup, it’s pretty straightforward to use. The filter tweaking is part of the fun. If that doesn’t sound like fun, “these are not the droids you are looking for”.

To give you an indication of how nerdy this software is, I have a fried who designs sigma-delta modulators for audio products at Cirrus Logic. I was telling him about HQPlayer and the various modulators, noise shapers, filter functions, etc and we ended up spending an hour geeking out over the differences between built-in hardware DSP and external software based DSP. And how HQPlayer could be a net positive or negative. (He now has HQPlayer installed… I should get a commission)

The challenge, like I hinted at in my original post, is the initial setup. You have to be pretty committed to making it work. It was 2+ weeks of effort to get there, including several amazon purchases / returns to get my home computer and network to cooperate. If you are using streaming endpoints (ie RPi4) it is very network traffic heavy (16x or more the normal data required to stream audio). So other network traffic (ie kids watching cartoons via Roku) was causing glitches in my audio. I got it resolved, but it took running a fair bit of CAT6 cable through my crawlspace (and a few holes in the wall… don’t tell wife…) If you are able to put the PC running HQPlayer near the streaming endpoint, your life will be much easier!

It’s definitely a tinkerers delight. Small changes can make things sound very bad and very good. The HQPlayer section on the Roon Forums is a key source of information on how to get up and running, as well as what settings tend to work better than others. The software developer for it is very active on that forum to provide feedback and recommendations.

2 Likes

Thanks, I shall look into there (and here) on my next attempt.
I most certainly do not have the hardware for it anyway, at least right now.

With the long Labor Day weekend here in the US I’ve been playing around quite a bit with HQPlayer settings. I feel like I’m starting to get a sense of how to use this tool: restraint is key!

[note: I went back and edited my original post to reflect a little better understanding of how this tool works.]

My initial strategy was to use the maximum settings my PC could support - complex phase compensated filters, higher order noise shaping, higher order sigma-delta modulators, (more cow bell!). The best way I can describe what I’m hearing from this is clan, sharp, precise - every instrument is clear, separated, focused, very easy to pick out. To my ear it causes the sound to lean towards bright and almost unrealistic. It almost doesn’t sound mixed properly to me. But this is all personal preference, I can easily see how someone would like this, especially for EDM.

Over the last couple days I’ve been backing this down, and realized today the sound I enjoy the most (neutral, leaning slightly warm) is achieved with simple (computationally speaking) settings: basic linear phase interpolation functions, no extra noise shaping, and lower order sigma-delta modulators. All of the computational effort to “improve” the sound really just over sharpened it to my ear. Backing this down I’ve gotten a more neutral / “organic” sound, while still retaining the sound staging improvements over running “bit perfect” to the DAC.

Even if my description here is a little bit bull-shity, the main point is you can meaningfully tune the sound signature with HQPlayer to your taste. And even dial in these settings per DAC, per speaker / headphone setup, and even for different genres. And then load the preferred settings when you want to use them.

… probably more work than it’s worth … but definitely a tweakers paradise!

4 Likes

The journey continues… my god HQPlayer can be an incredible time sink!

I got a good recommendation over on the Roon / HQPlayer community forum to help bracket the different tonality and sound signatures you can get from HQPlayer:

  • start with poly-sinc-ext2, PCM up-scaling, TPDF dither; listen to a set of tracks you know well
  • then listen to the same tracks with poly-sinc-shrt-mp, and finally with poly-sinc-gauss-long.

Based on which of these three filters you like the best, explore other filters that are similar (see HQPlayer Usger Guide) and dial in what you like best. Once you have a filter you like, then dig into PCM dither functions and noise shaping to polish off your settings. If you want to explore sigma-delta modulation to stream DSD to your DAC, then jump into that after you are settled and happy with PCM settings.

I’ve been all over the place with HQPlayer for the last month. Tweakers paradise, but such a distraction! The above recommendation really helped me group the different filter functions / sounds and lock-in what I enjoy best. I finally settled on the poly-sinc-gauss filter, it sounded the most like my DAC without any up-sampling, while enhancing the sense of space and tonality (not changing it). And in the end I fell for the linear noise shaping (LNS15): when I remove it there is a low level “blending” in the music that takes out some of the space I hear. Too much of this makes it sound unrealistic, but combined with the gauss filter I think it is a nice balance.

IMO, the right settings in HQPlayer are the onces that don’t make a massive change over the native sound of the DAC. Try to match the stock DAC sound first, then tweak for a slight upgrade. Not a radical sound signature change. I guess this is similar to the recommendations that go with EQ’ing. Small changes, not radical re-tuning.

1 Like

Brief update on this journey down the rabbit hole, I feel like I’ve finally tamed the HQPlayer beast.

I’m convinced that the best HQPlayer settings are 100% dependent on your DAC, and to a lesser extent your Amp, Speakers, Headphones, etc. It’s very much a “synergy” game.

For my Soekris dac1311, it really comes to life with x8 PCM, a very Long Sinc filter (Sinc-L), and fairly agressive noise shaping (LNS15). Playing through the G111 the detail is fantastic, without becoming bright. And the instrament depth/separation is significantly improved without sounding thin or distant. The music is crisp but keeps an organic sound - maybe erroring on the side of crispiness for some tracks. With other settings this improved sound signature quickly fall apart - becoming bright, glaring, thin. When I revert back to bit-perfect playback via Roon everything starts to sound more muddy and dark (not excessively so, it’s a great DAC, but it’s not the clarity I’m starting to appreciate).

For my Allo Revolution DAC the above settings used on the Soekris (x8 PCM, Sinc-L, LNS15) are a disaster. Everything sounds over processed, and oddly bright. High frequencies like cymbals are pushed forward, vocals are pushed forward, and on some tracks I even lost track of some instruments (such as Clapton’s Unplugged album, it was all audience clapping and vocals, the acoustic guitar was pushed way back). After a lot of experimenting it became clear that the best settings were to use the Sigma-Delta Modulator to up sample and convert to DSD512. With this the DAC became very forgiving, many of the interpolation filters sounded good. Running at DSD512 with AMSDM7 512+fs modulator, and poly-sinc-gauss (or -ext2 or -short-mp-2s or probably many others) the sound is very detailed and natural. Not as organic as the dac1321 sound, still some sharpness in some high frequencies (cymbals in particular). But again, when I revert back to bit-perfect playback I find the detail is lost and the music feels more blurred together.

This thing is a real double-edged sword. But I’m very happy with the sound I’m getting right now, it makes my music just a little more engaging / enjoyable. So I’ll stick with it for now…

I’m also gaining respect for the designers who work to “voice” a new DAC design. Small changes really push the sound signature around.

4 Likes

The last time I played with HQPlayer, my chain was really different, and I felt like I wasn’t hearing much of a return with the Exogal, but I’ve been playing with it again this weekend and the Mystique V3 takes much better to upsampling. So yeah, I’ll chime in!

(Note: This is using the free trial, but my understanding is that it’s the same except for the 30 minute time limit.)

So with the microRendu, the seemingly easiest way to get everything working was to set the microRendu to HQPlayer NAA, connect HQPlayer to the microRendu, and then connect Roon to HQPlayer. HQPlayer’s manual really doesn’t do a great job of explaining how to configure everything, but it’s not too too bad, just be prepared to search forums/Discord/ask people stuff.

The upsampling filters I ended up liking were poly-sinc-gauss-xla, poly-sinc-ext3 and sinc-Mx.

However, a big difference between the different filters is the amount of jank it introduces into the UI. If you stream normal music via Roon or even if you use Roon’s built-in upsampling, you can do something like pause a track and it happens basically instantly. If I’m using poly-sinc-ext3 and I pause a track, it takes over 2 seconds before the track stops playing. If I’m using sinc-Mx, it takes over 4 seconds before the track stops playing. (Four seconds is incredibly long for a UI interaction.)

Interestingly, gapless playback works just fine. If you just hit play on an album and let it go and don’t try to stop/start/skip/etc, it basically all works how it should. So just to be clear, these long delays aren’t between already-queued tracks.

The Mystique V3 maxes out at 24/192 PCM, which works great for me, but yeah, I can’t speak to higher sample rates. I started off the weekend upsampling all the way to 192, but at the moment, I’m currently using a lower upsampling rate to kind of split the difference and keep a little more of the DAC’s original sound.

In HQPlayer, the “Filter 1x” setting is only applied to 44.1/48 kHz tracks and the “Filter Nx” setting is applied to all higher sample rates. So right now, I have my “Filter Nx” set to “none” and my “Sample Rate Limit” set to 96 kHz, which will only upsample 44.1/48 tracks to 88.2/96.

I know “limit 96 kHz” sounds like it would downsample 192 kHz tracks, but since the filter is set to “none” for 192 kHz, it seems to do the right thing and passes it through as 192 kHz.

So yeah, I’m still doing a bunch of tinkering and I still don’t know where I’m going to land in terms of what sound I like, but thought I’d write some stuff since we haven’t talked about HQPlayer in a while.


Other notes:

I don’t know why the HQPlayer Client exists, it’s impressively bad. I strongly recommend using HQPlayer with third-party software like Roon. The HQPlayer software in general is kinda awful, but at least when you’re using it with Roon, the server part can kinda get out of the way once you have it working.

It’s also possible to choose the “Custom” setting in Roon’s built-in upsampling to set the built-in DSP to only upsample 44.1/48 kHz files to 2x and leave everything else alone. (This really only matters to me since I’m interested in doing an apples-to-apples comparison with the HQPlayer settings above.)

10 Likes