Assume that some Roon playlist contains three music tracks – 44.1k track 1, 44.1k track 2 and 96k track 1. At the time t0, Roon starts playing first track of the playlist (44.1k track 1) and output to HQPlayer. HQP start conversion with sinc-M filter and initialize filter, that takes some time (say, 4sec to 5sec, shown as gap-1). At the time t1, filter initialization finished and we hear the first note of the music. At the time t2, Roon continue to play the next track (44.1k track 2) with gap-less output to HQP.
At the time t3, Roon proceed to the next track (96k track 1). In this case, because it cannot play as gap-less output, Roon tells HQP to start it as new track. But as shown in a figure above, HQP is still in the middle of playing the current music (44.1k track 2), stop it (cause cut off the music), then start initialize filter, that takes some time (say, 4sec to 5sec, shown as gap-2). At the time t4, sound comes again.
My proposal to Roon for one solution to the issue is followings (pleses see Figure below).
Let introducing a new user configurable parameter, say “pad”. At the time t3, Roon append a short blank frame (pad) to HQP output. It should be gap-less and has a same sampling rate as previous track.
This proposal solve the “cut off the tail” issue, but doesn’t adress solving the issue of delaying sound.
are you still watching this? The delay at the beginning is not a Roon issue . The SincM filter takes so much processing it takes that long from the time you hit play to get to the point it is ready to output sound. That’s just the way it is.
The fact that Roon starts the next song before the current one is finished is another issue. I understand what is happening, HQplayer is still processing the current song, the same delay that happened at the beginning results in it continuing for that long at the end. If it takes X seconds to start then it has to keep playing for X seconds at the end. but Roon says the song is over so it starts the next one cutting off the current one. No idea how to fix it. I quit using SincM for that reason.
Yes, I’m expecting Roon to implement my proposal – feature request. I know that it is NOT Roon issue at all but it is Roon - HQP (naa) integration issue. As you mentioned, HQP (and any upsampling process) takes X seconds before starting sound (“gap-1” and “gap-2” as shown in my diagram) that causes “time shifting” between Roon and HQP/naa.
The issue is that Roon is not aware of the “time shifting”. Note that the duration of delay (or “shifting” amount) is not constant but it vary w.r.t. the choice of oversampling filter and output sampling rate of HQP.
I suspect that your issue might be a different issue. The first (beggining of ) second drop issue could be solved by to configure roon HQPlayer device (in Device setup menu of Roon app) to “pre-roll a period of silence”. In Roon, Setting → Audio → “HQPlayer(or name of HQPlayer you gave)” → device setup , set “Resync Delay” to, say, 5000ms.
Hope this help your problem.
Roon should update the HQPlayer support to v4 level and use playback queues, but it is stuck to old early v3 code and even though I have asked many times Roon is not willing to fix this. Unfortunately.
HQPlayer now compensates for the position reporting which may ameliorate the problem to some extent. Just make sure you are using latest version of HQPlayer.