Volume levelling in HQPlayer

I use volume leveling in Roon, partly because its nice to get similar volume on everything I listen to, but also since I have to make some headroom due to DSP (convolution) anyway.

However, I hate the fact that its done in Roon, I would like to put all DSP in HQPlayer and leave Roon as a bit-perfect media player. So a nice feature to have would be if Roon could send volume information to HQPlayer at the beginning of each tune or album, and then HQPlayer could apply the volume change as part of the DSP and its own volume changes. Any plans for something like this @jussi_laako ?

Roon could do it already now. And I could add some more support for this as well. But I cannot do it by myself because track boundaries are not visible to HQPlayer when source format stays the same. HQPlayer sees just one endless stream.

1 Like

It would be a nice little feature, because you might need to adjust volume in HQPlayer as well and while it might not be a big issue, one volume adjustment will decrease SQ less than two (and save a little CPU usage).

Lets call in the Roon gurus… @brian what do you say?

One more small thing that is a little annoying: when pressing pause in Roon, it take a “full latency” time for the music to stop. I would assume that HQPlayer don’t get any command but just gets silence, but if a “pause” command between Roon and HQPlayer was added it could be made much faster (near instant).

This is extra annoying when the phone rings, and I press pause and then have to wait a seemingly long time before I can answer!

In fact, if HQPlayer caches the incoming data after it got the pause command and silenced the sound, then resume could be started without latency as well which would make the whole latency thing much less severe.

Pause delay/latency shouldn’t be more than about one second (for example with poly-sinc-ext2). That should be within tolerable time.

I also use a 500k taps convolution file in HQPlayer, which is supposed to have 0.6 seconds latency but feels like its a lot more (convolution file created at 384 khz and up-sampling 8* in HQPlayer).

With ext2, and the convolution file, I have 3.5 second between pressing pause in Roon and quietness.

I am with Magnus on this one…if there is a way to make the latency from start/stop less that would be great! Instant start/stop when doing convolution and upsampling with Roon DSP, but 2-3 seconds when doing the same via HQPlayer (which I prefer as it sounds better!)…but the latency is a bummer! My core and hqplayer embedded all on sonictransporter i9 feeding optical rendu into oppo 205 usb dac…so would think there would be no latency as no 2nd computer involved.
Thanks
D

You have, you have Rendu. Try connecting Oppo directly without using a NAA and you may notice lower latency…

You may also notice lower latency when playing with HQPlayer standalone instead of through Roon.

If I make the latency disappear, there will be other issues…

Are you now talking about play/stop latency or play/pause latency? These are not the same thing.

Roger! I guess both…I certainly dont want you to break a very useful and loved software by chasing this squirrel. Although I have no doubt that I would improve latency by eliminating Roon and the optical rendu…those are very key to the playback chain, enjoyment of the music, expensive costs, etc…they aren’t going anywhere! I will likely just get used to the delay and enjoy the music!
Thanks!
D

Well, if something could be done to lower latency it would be nice. I have 1 second to quiet if I press next, which I assume is latency for buffers and network (I use a rendu as endpoint), and that is fine. But the almost 4 seconds latency when pressing pause is as I mentioned annoying and should be possible to solve.

But being able to handle volume leveling in HQPlayer is more important, if I use DSP I only want to use it in one place, in this case only in HQPlayer and Roon should only do bit perfect. Then Roon would not need to convert the data to 64bit float either but could just send it untouched to HQPlayer.

The only exception would be for MQA which I guess Roon should still unfold.

1 Like

Isn’t most of the latency a function of the filer in use? I like sinc-m but it has 12 secs start delay on my setup. I’ve just become accustomed to it or I change to one of the poly-sinc filters that are 1-2 seconds if I’m skipping tracks a lot.

I would like to have R128 leveling within HQPe and stop using it in Roon but I don’t think it would really make any functional or audible difference. I convol in HQPe. However, others running HQPe without Roon would benefit.

If you use HQPlayer standalone, without Roon, HQPlayer supports ReplayGain 2.0 specification tags in files and you can get volume levelling.

If you play from Roon, none of this is visible to HQPlayer, not even track boundaries.