This is an edited version of a question I put in the Chord forum,. I am posting it here as I now think it the question is more related to HQP.
I am using an Allo USBridge sig with a DigiOne Sig on top into a Chord Qutest, and I am using Ropieee XL as the endpoint software running in the USBridge. I am also using HQPlayer for upsampling. I have the endpoint set up so I have a choice of either SPDIF Coax or USB into the Qutest (its nice to be able to compare the outputs).
I am finding when I use the USB input on the Qutest I get clicks, pops and glitches – more often than not they sound like clicks on an LP record. These are not present when I use the SPDIF coax. I would like to use the USB more as I am finding the upsampling to max frequency does have sound benefits, but the clicks and pops are annoying.
I did some more tests and found the following:
Clicks and pops occur on USB input of Qutest at most levels of upsampling I tried (most of them) using HQP. I think there are fewer clicks and pops when upsampling to e.g. 192khz than at higher upsampling rates.
No clicks and pops heard when HQP outputs via SPDIF to the Qutest.
Using HQP and upsampling to 768khz into USB input of Qutest I quickly get white noise in 1 speaker.
This one is the big discovery: Clicks and pops DO NOT occur on USB input of Qutest at the max level of upsampling (768khz) using Roon native upsampling.
I have played 768khz upsampled material via Roon upsampling all day into the USB input of the Qutest and had no problems - no white noise, no clicks or pops
I wondered if my roon core / HQP machine (Intel J4205 with 8GB ram) was overloaded so I looked at top to find the CPU usage:
in HQP Clicks were happening a lot on HQP with poly-sinc-long-lp. Upsampling to 705khz - here CPU load was 42%. This is 42% of 1 core and the CPU has 4 cores. Load varies with other filters (higher and lower than this) but clicks and pops occur sooner or later in all the filters I remember trying.
Roon upsampling to 768khz does not cause clicks. CPU load = 29-30% of 1 core out of 4.
This is known to happen with most DACs when source is RasPi3 or earlier. Not with RasPi4. It is because ethernet and USB interface on older RasPi’s share the same USB bus and causes lost USB packets on transmission to the DAC. Shouldn’t happen if you connect your DAC directly to the computer.
This is known problem of Chord’s USB interface implementation. I get this also with my Chord Mojo, when playing Spotify from iPhone using Apple’s Lightning-to-USB adapter. Blasts white noise at full volume, pretty nasty with headphones…
One way to fix and use highest rates Chord DACs support is to use Audiowise SRC-DX for USB interface instead of the one built into Chord DACs.
Thanks for the very quick response, but what I don’t understand is why it works perfectly when Roon is doing the upsampling (even at 768khz) and not when HQP is doing the upsampling. The only difference is which software is doing the upsampling and playback - all the hardware is the same. The only thing I could guess at was CPU load, but neither Roon nor HQP seems to overly load the machine doing the conversion so I am not sure that is it.
I am very much liking the output from HQP into the SPDIF on the Qutest (sinc L is a current fave) and since it seems that there is no hardware problem I was wondering if I can do anything to get HQP to output the top upsampling rates to the Qutest.
Thanks for the replies. OS I am using is Ubuntu 20.04 LTS. I think the idea of the windows driver working better is very interesting – i.e. the Ubuntu PCM output might not be optimal and this could be the root of the problem. Based on this, my guess is that Roon RAAT does not use the native Linux audio kernel output and HQP does – hence Roon is immune to the problem. But this is just a guess!
I also tried another USB cable between the endpoint and the DAC – the usual cable is an Audioquest carbon and I also have a wireworld USB cable – I tried the wireworld one this morning and no difference – still click and pops and the white noise on USB at 768.
Do you have adaptive rate / auto family rate enabled?
Try to disable it so all music sample rates (including 44.1k and 88.2k) get upsampled to a fixed sample rate (768kHz in your case).
I’ve previously had the white noise (headphones!) . Will try to see if fixed output sample rate helps.
I can’t recall if I had the white noise at the start of tracks or even after the track had started but will test this weekend with my Hugo2, out of curiosity. I will have it connected direct to my Mac running HQP Desktop.
An alternative option to the Audiowise interface that Jussi mentions
Use HQP to upsample to PCM192k using SPDIF. sinc-M is quite nice.
With my Hugo2 with USB-to-TOSlink converter (PCM 192k max) I am currently re-visiting sinc-M, sinc-L with NS9 noise shaper. And comparing with no upsampling in HQP but keep TPDF dither enabled because I use HQP’s pipeline matrix for EQ (the dither is required because of 64-bit to 24-bit bit depth reduction).
Thanks - I do like SPDIF output from the digione part of the streamer - Agree sinc-M is good. Its pretty much my go to shaper. I find the digione has a bit warmer sound than the USB. However, there is more news on the USB in my other reply!
I have been testing much of yesterday and today with the usb into my qutest, playing 44.1 upsampled to 705.6 and 48/96 upsampled to 768 and I have had very few clicks (they may have been on the recording or the fridge turning on as well) and only one tiny burst of white noise yesterday at 768. I tried increasing the buffer time to 20ms and this resulted in more clicks and white noise so I am currently trying reducing the buffer length to 5ms. I don’t recall any white noise today. If there are still clicks, they are very few and not noticeable. Whatever the case, the situation is much much improved using this buffer time setting.
This is transformative! I have no idea why it works (I always thought more buffer was better) but I am not questioning it. It really does sound very good now - nice and 3D and with lots of things going on in the stereo image. I am well pleased with this and I hope this write up helps someone else with the same setup.
What you say is very true! Longer tests are certainly needed. After a week, I think the situation is much improved with 10ms, but there is still the occasional click or glitch at most upsample frequencies and white noise at 768khz. At the moment I have limited the upsample rate to 705, so when I am playing 44.1 series I get 705, but when I play 48 series I get 384 because the white noise is pretty scary when it happens, and I only recall white noise at 768. I think 10ms buffer (or even smaller) is definitely worth trying as I think it does improve things, but I don’t think it fixes it entirely. I think its a matter of frequency - my feeling is that when the buffer is set to default (or 100ms) I get more clicks and white noise, but when I reduce it I get fewer. I have ordered a SRC-DX (should be here next week) as it seems that this is the durable solution. I think the SRC-DX will give other benefits like the USB receiver in the Qutest being switched off. Hope this helps.
I just tried fixing to 768 using poly-sinc-ext2 and playing 44.1 native and there were major drop outs – silences of 1 second - within the first few minutes of playing. I looked at the HQP machine htop and the processing was maxing out on some cores. If I play 48 native upsampled to 768 there is much less load on the processor of the HQP machine and no drop outs (so far). I feel that using family-based upsampling is much less stressful on the processing machine, hence my approach of using it. The other reason I didn’t fancy fixing the upsample rate is that I can’t use sinc filters (sinc M is my current fave and the one I have been using most) when I upsample across families. Everything I have read points to the USB receiver in the Qutest causing the issue – my guess its similar to the one in the mojo.
My machine is an AS-Rock mini itx board with an Intel J4205 processor (this is pentium I think!) and is probably the reason I cant do cross-family upsampling convincingly. My best results have been within-family upsampling limited to 705, and this is pretty good but not faultless.
HQP machine is Ubuntu 20.04LTS and I have Ropieee XL on an Allo USBridge Sig as the NAA. The USBridge is connected to the HQP machine via a dedicated network switch (no idea whether it makes any difference!)