Small problem with gapless play with HQPlayer Destop5 and Roon

I have a problem with gapless playback, which normally works completely fine with Roon and HQPlayer. Where there is a short track, the track that follows only starts after a pause. Roon on its own is gapless but not in conjunction with HQPlayer. Local playback and streaming from Qobuz of the same material is the same. Below is an example. Multiple versions of Rchard Strauss’s Alpine Symphony have the same problem - Am Wasserfall is around 15 seconds in all recordings and Erscheinung only follows after a short pause. Standard FLAC and HiRes recordings are the same. The same thing happens later in the Alpine Symphony after a 19 second track - there is a brief pause before play of the next track begins.

I think I have only come across one other example in my collection. I guess most people would never come across this problem.

Many thanks
Chris

Can you try using HQP alone?
Which are your HQP settings?

Went through all the short tracks without any gaps here:

When playing such from Roon, HQPlayer should see only one stream coming through the entire album. You could check HQPlayer log file whether there was any “track change”. Likely not, so the issue would be that Roon has some lag retrieving and sending the next track and HQPlayer runs out of data to play.

Yes that plays fine for me. Does this for you?

image

It looks like my Roon delays sending the next track if the current one is around 16 seconds or less - but it’s 14 in your example. If it’s over, then no problem. There seems to be a threshold. This plays fine:

Many thanks
Chris

No issues with that either:

This is all very strange. There’s no problem with your Frankfurt recording (excellent by the way! Thank you.) but the Saito Kinen continues to give problems from Qobuz and local FLAC. I noticed the Frankfurt is 48/24 and Saito Kinen is 96/24 but I don’t think this is the problem - I continue to have the same issue with the Dresden/Kempe version (via Qobuz) and this is only 44/16. The BRSO/Jurowski 96/24 via Qobuz also pauses after the short movement. All these work normally via Roon alone and it looks like they also work correctly if played directly in HQPlayer (this is how you played them?) but not Roon+HQPlayer.

I can confirm that for me the Saito Kinen also plays normally directly from HQPlayer.

1 Like

I think the conclusion is that the higher rate version has short enough tracks and large enough files that Roon has some lag fetching those in timely manner and that’s why there’s a pause providing data to HQPlayer.

This is something that Roon should look into…

2 Likes

Thank you for your time and advice on this matter.

Room manages to obtain these files of all sizes in a timely manner and send them to every other Roon endpoint on my network without problem. It is only to HQPlayer that there is a problem. Roon and HQPlayer reside on the same server and I’m wondering if the lag in communication could be internal to the server? It’s a pretty top specification though (AMD Ryzen 9 7950X processor) and there is 64GB of RAM on board. The OS is Ubuntu 22.04 desktop. Could there be some settings in Ubuntu that I need to pay attention to?

The Roon communication with HQPlayer is different than what Roon does with it’s endpoints. So it is a bit of apples to oranges comparison. HQPlayer is not a regular Roon endpoint. There is no Roon endpoint code in HQPlayer at all.

HQPlayer doesn’t even know when the track changes in these cases, it only sees constant (or not so constant) stream of data from Roon. (you can check this form HQPlayer log file)

Possible, but unlikely, since the server doesn’t know either when the track changes. That is internal business of Roon.

Check that you are running the official lowlatency kernel, or the custom one from me. Not the one titled “generic”.

But this is something Roon people should rather look into. To me, this kind of thing is just a black box.

Thanks for the suggestion about changing the kernel - I am using the generic one. I’ll try it later.

Chris

Hi Jussi

I installed the official low latency kernel this morning and the good news is that the situation is much improved. All the local content examples now play without breaks. From Qobuz, I think about 9 out of 10 examples now play cleanly that didn’t before. Strangely, I have 24/192 examples that are now OK and a 16/44 version that is not! With the few examples left that play with breaks, the gap is noticeably shorter than it was.

So, thank you for the great advice that has more or less fixed what was a minor issue for me. HQPlayer is a great piece of software and this was my only reservation. I’ll look at your custom kernel when I have time. For now, back to music but no more Alpine Symphonies for a while!!!

Best wishes
Chris

1 Like

Is “The Dark Side of the Moon 50th Anniversary” 192/24 playing gapless for you?
Because for me, neither HQP Desktop nor Embedded RPi4.

From Roon or standalone HQPlayer in album mode?

Both Standalone.

These two “Strausses” (24/48 and 24/96) play gappless.
Only on 24/192 albums does it pause between parts.

I’m very happy about your success :slightly_smiling_face:
But it’s a pity that my problem still doesn’t solved…
Probably the developer doesn’t have time to deal with it (192/24 albums gappless) - so maybe you have any idea?

Hi

Yes 24/192 version played gapless for me. My chain is:

Qobuz
Roon
HQPlayer (to DSD256)
NAA on Raspberry PI
Gustard U18 DDC
Gustard A26

Best wishes
Chris

Hi

I tested this on my configuration, completely different from yours, and gapless is working fine, both HQPlayer in Album mode, and Roon-HQPlayerEmbedded.

The albums I tested are:
Pink Floyd DSOTM streaming from Qobuz 192kHz/24bit - Qobuz streaming

Roger Waters - Amused to Death 192kHz/24bit - local library

As you are only using HQPlayer, there has to be either a specific parameter that is on/off, or a performance issue.
These are my configurations:


0

But again, I am running on completely different hardware than you. I’m just trying to help you to explore possible causes of your problem.

Have you tried with the lightest filters/modulators to see if CPU-load would play a role. It should not, but better to test it (if not already done).

For completeness, here is my whole configuration:
Description My Setup

Details on your Core machine (OS, Hardware specs, Roon build)

  • Audiolinux Server, running on Audiolinux V3, Intel i9 13900 processor, 32GB RAM, 1 HD Samsung SSD 512GB for OS+apps Roon/HQPlayerEmbedded + 2 HD Samsung 4TB SSD for local music
  • Roon version 2.0 build 1353
  • HQPlayer: HQPlayer Embedded 5.2.0

Details on your Remote(s) (OS, Hardware specs, Roon build)

  • iPad Air Pro – 128GB - running iPadOS 17.1.1 - Roon version 2.0.1352
  • Samsung S23 – running Android version 13 – Roon version 2.0.1352 ‑ Wifi 6
  • Laptop running Windows 11 Home - 11th Gen Intel(R) Core™ i7-1165G7 @ 2.80GHz 2.80 GHz Ram 16GB, Roon version 2.0.1353

Networking details (especially what hardware you’re using, how everything is connected, and anything notable about how it’s all configured)

  • Ethernet & Wifi Mesh network built on 4 * Asus Zenwifi XT8
  • Connected to Service Provider modem
  • Speedtest connection speed ethernet 220Mbps download – 18Mbps upload
  • Roon Core connected via ethernet, laptop (remote) connected via ethernet
  • Mobile Remotes connected via Wifi6

Audio devices in use

  • T+A 200 DAC connected via USB to Holo Audio Red USB connected to ethernet
  • Endpoints : 1 * Cambridge Audio CXN v2 , connected via ethernet

Library details

  • Local library on separate internal 2*4TB SSD hard disks in Roon Server
  • 39314 tracks (2756 local albums, 1 Qobuz albums)

Backup details

  • Location 1 : SSD disk in Core Machine - 200GB capacity
  • Location 2 : Synology NAS 10,8 TB capacity

Location 3 : USB disk connected to Synology NAS - 7,2 TB capacity

Thank you - I tried with these settings but unfortunately it still doesn’t work.
I remind that this is about a standalone HQP embedded (RPi4).
Because Roon can handle 192/24 albums without any problems - even with HQP as an endpoint.

First, when playing with HQPlayer Client, check that in HQPlayer Client you have “Prefetch” enabled. Then try with both “Freewheel” enabled and disabled.

When the stream is coming from Roon, HQPlayer doesn’t even know where the track changes since there’s just a single endless stream. So the hiccup is more likely Roon not being able to prefetch the next track data quickly enough. What kind of internet connection do you have?