HQPlayer 4 - Master Thread

Just got back to giving HQPlayer another try (current version 4.13.1). For the first time I can see running it continuously as a default for my Roon headphone sessions. My primary DAC is a Metrum Adagio (still on DAC2, waiting for DAC3 upgrade in the mail) via I2s at 192khz (shaper Gauss1, limit 20bit). Right now listening to my current SR1 chain Adagio->Ayon Spheris III->HSA-1a. Very nice and fatigue free sound for many different genres (unlike past HQPlayer experiments).

3 takeaways to share –

  1. Several of the new filters bring distinctly new possibilities over previous versions, including sinc-L, sinc-MX, and ext3. One that I had overlooked and has now become my favorite: poly-sinc-gauss-xl.

  2. Feasibility of HQP has increased significantly for me since I moved to a Mac Mini M1 (16GB RAM) on my desk, which is completely silent and sufficiently powerful to run HQP in the background (unlike Intel/AMD machines where that would have sent the fans spinning or otherwise impeded smooth system usage). Mac Mini M1 base configuration can be had for less than $600k and the form factor is brilliant (not many smaller systems around). Upcoming rumored M1X or M2 revision should stretch to higher bit rate DSD resampling as well (not sure if that wouldn’t still be asking too much from the current gen - fortunately I don’t need DSD).

  3. Read the Friendly Manual - specifically pages 16-19 (filter choices). I recently started to experiment with apodizing (apod) vs non-apod filters, this list will help you find equivalent options and more systematically determine what works best for you in your system. For the longest time I was simply overwhelmed by the many choices, investing 10 minutes to understand the documentation was foundational to being able to getting value from HQP (instead of trying recommendations from other people, which was my previous approach that got me nowhere).

6 Likes

What Intel/AMD configs have you tried, specifically?

Mostly MacBook Pro - including e.g. maxed out 2019 16" Core i9 2.4 Ghz … Even on my 32 Core 3970x Threadripper desktop (with RTX 3090 Radeon GPU), the per-core/GPU load from HPQ does lead to increased temparature/fan activity. With the Mac Mini M1 “The Beast” mostly stays off during daily productivity sessions (of course always off for critical headphone listening).

Seems like there’s something non-obvious going on.

The M1 has an advantage in efficiency but Threadripper has 5 times the multi-threaded performance.

If the M1 was at 100% cpu the Threadripper would only need to be at 20% which doesn’t seem too hard to manage.

Maybe the M1’s AI cores and/or GPU can be used to tilt the scales.

(drifting off topic) Threadripper thermals are sensitive to selective (e.g. 1-2) core utilization. HQPlayer doesn’t spread the load across 32 … think of it as “hot spots” in both utilization and overall thermals. I could tweak the fan profile to keep things quieter - back to the original observation though that Intel/AMD CPUs with workloads such as HQP are far more likely to switch to active thermal management compared to ARM/M1. My takeaway remains that M1 Mac is an incredibly compelling choice if you are looking for a HQP engine as part of your hifi setup - one of the quietest, cheapest, fastest, smallest, and best looking boxes you can buy.

Might be off-topic for you.

It’s exactly the topic to me.

It’s just one example of a case where a general purpose benchmark doesn’t give results that translate well to certain, specific, workloads.

In this case, it might well be that the HQPlayer code allows for high levels of vectorization and/or is SIMD in nature (which I would assume is the case, since HQPlayer can use GPUs … and that’s typically how they’re employed), and thus will favor units like the M1 over a high-end Intel or AMD processor.

I’ve got workloads that perform better on certain <$50 processors than they would on a $5,000 64-core Threadripper. I’ve also got workloads that require clusters of big high-core-count conventional machines and that likely wouldn’t complete at all (within my lifetime) on those same <$50 processors no matter how many of them you tried to tie together.

3 Likes

It’s useful for people who depend on HQPlayer and want to minimize the hardware footprint.

I found a few references to machine learning apps running well on the M1 so that fits in with the kind of processing that HQPlayer does.

1 Like

Do you use hqplayer in over sampling mode? If so how much OS?

I don’t have a DAC that works well with DSD; out of curiosity, I tried DSD256 (my Chord DAC will not go higher on Mac OS) and found similar CPU utilization as with corresponding PCM upsampling.

For some of my 192khz constrained (SPDIF or AES) DACs I generally run 176/192 kHz OS; one big
disturbance in the force is the very much not welcome MQA format (requiring painful HQP filter changes away from the baseline configuration). Since Tidal started converting their full catalog, I am more likely than not to just cancel the subscription – HQPlayer magnifies the deficiencies of MQA compared to RedBook CD format (e.g. yesterday I compared the 1991 original CD FLACs for Metallica’s eponymous album with the sound from the 2021 remaster in MQA – 1991 won with a large margin – both were night and day inferior to the HDTracks 96khz master).

1 Like

I have my Roon Core and HQPlayer running on an i7 with 16 Gig ram. I run the machine at its highest performance level - fans running all the time and it still glitches out. Admittedly I am running convolution as well as upsampling to 768K. I am considering that a M1 based Mac would perform better.

1 Like

I run convolution and upsampling in HQPlayer and it is having “hiccups”. What level of M1 Mini would you suggest to do such DSProcessing without adding digital distortion that I seem to get from my i7 machine?

How much CPU power you need depends on the filters you are running - what is your configuration? I am happy to run your filters on my Mac Mini M1 and would be able how much headroom that leaves.

All current Mac mini M1 have the same CPU. If you want to “play it safe”, Apple will likely introduce a refresh with dual M1 Pro or M1 Max CPU in 2022 - 2-4x faster. However, this was expected for October 2021 already and I am not comfortable making any reliable predictions due to the known global supply chain situation (pretty sure this is what is slowing Apple down in getting new products to market).

I am running Roon which is controlling HQPlayer. It changes bit depth to 64 bit, then there is headroom drop of 3 dB, then convolution filter for the HD800S in Roon, then upsampled to 768K with a filter that runs one million taps (sinc-M with LNS15 dithering), then out to the Qutest. From any source - library or streaming it has occasional “glitches” where it loses control for about a quarter of a second. This is all PCM DSP setup. I read somewhere that it may be running out of ram. I have 16 gig, but have disabled the swap file in Windows.

HQPlayer 4 on my Mac Mini M1 with your settings (PCM 768k, sinc-M, LNS15) consistently is below 25% CPU usage. I used my Hugo 2 to replicate what you would see with your Qutest.

I can’t benchmark concurrent Roon needs as I am using a separate Roon Core (not on my Mac). However, since this configuration has 75% headroom I would say it should work just fine.

Before you make any changes and buy any new stuff - have you looked at Windows task manager on your current i7 PC to understand what could be the root cause of poor performance on your system? Maybe just compare CPU for HQPlayer - see above, M1 Mac would be less than 25%, what is the peak you are seeing on your i7?

Windows is ver 10 - stripped down with most services disabled or removed. The i7 is a 2.4 - set to run contiuously at maximum. The fan runs continuously. HQPlayer is taking 55-56% of system resources and Roon is taking about 2%. Today was the day I upgraded the power supply for the local switch that these systems are interconnected with and it has not glitched since I put in the new PSU (An iFi 12V 1.8a clean PSU). So much for ethernet performance not being a factor…
When I change the HQP to do DSD128 It creates strange noises at the beginning of each tract played, then plays the tract quite well. I still think a M1 is in my future.

1 Like

The i7 laptop that was running my Roon Core and HQPlayer is now dead. The poor performance was a precursor to the dying of the power module of that laptop. Thanks for your assistance.

1 Like

Sorry for your loss Doc. But on the bright side you get to buy a new laptop.

(Not sure though if you are going to repair or replace.)

This was not my first Dell Precision M4800. They have a weak power module on the motherboard that does not tolerate temperature swings. I was running all my DSP on that laptop 24/7 and running it at maximum performance, then backed up Roon and shut it down to put more ram in. The power module died with the shutdown. It is old and not worth repairing.
The big question in my mind it that now that I have migrated the Roon Core and HQPlayer to my main PC, there is really no audible difference (except that my main PC is doing the DSP chores without glitches and runs DSD to 256 which the laptop would not). I would not want to spend 1000.00 on a Mac Mini M1, move core and DSP over to it and see no audible improvement.
My biggest improvement in clearing the 3 to 5K harshness in the sound was to move to DSD256 from PCM. A dedicated Core with HQPlayer should be an improvement easily heard, but on what machine? I have ruled out Intel machines. I need computing power for Roon convolution and HQPlayer DSD, but on what device? That is my current question.
By the way. The current PC is running 50% resources for HQPlayer and I cannot do anything else on it while listening.

I have a PC running Roon and HQplayer and replicated most of your settings except that I am not running any Convolution filter. With sinc-M and everything running in Wasapi vs. Asio I have total resources at about 22%. I am only upsampling up to 384 as that is the limit of my Ayre but can’t imagine that going to 784 would double the resource needs. This particular PC I built about 5 years ago and installed 64 gig of ram which I have never regretted as I use this machine a lot for PS.

I have never experienced any hiccups with HQplayer regardless of the filter used. I tend, though, to use NOS all PCM Wasapi - vs dedicated Asio - as I have found that sound to be best for me with my system (Stax 009s and BHSE). I also do not use any convolution filtering with my Stax.