HQPlayer Embedded Discussion [2023]

You can experiment with multicore DSP set to checked (force all) or grayed (auto). You can also experiment with the E-cores setting, for example setting it to “filter” may be beneficial.

S/PDIF input from CD spinner is easy, since it is always 44.1/16 and many different hardware options provide sufficient support. Automatic input rate switching requires a specific set of hardware; for this there’s a separate thread on this forum.

That will likely work fine as CD source for HQPlayer. You can play CD’s with such using HQPlayer.

Does HQP support “HP” in PEQ? I added it here to Filter 3.

Channel 1 is without this HP filter and Channel 2 is with.

Frequency response is changed (good)

I don’t know what order “HP” is? I guess I have to ask John of REW

Or is there a better way you can suggest to do this in Matrix?

Yes it does, the filter is second order. If Q is not specified, it defaults to Butterworth response. There’s separately a first order high-pass filter “hp1” in the IIR plugin.

Since your EQ is so simple, you could also write it out straight on the process line, instead of going through REW format text file. But result is the same anyway, text is just translated to the process-line format.

1 Like

Hi Jussi,

thanks for the info. But what special hardware do I need now? Why don’t you give me a link to the thread in this forum where I can find this information - I really don’t feel like reading hundreds of pages here… with respect.

You can use your RPi4 NAA as input device simultaneously with the output function.

Here’s last year’s thread:

https://community.roonlabs.com/t/using-any-audio-source-with-hqplayer-spotify-amazon-apple-music-youtube-music-deezer-soundcloud-2023/

Hello everyone, comrades, I also wanted to clarify about adjusting the volume through HQPE. This is also a digital volume control, and as far as we know, with this method there is signal degradation (its bit integrity suffers). Especially when the signal is greatly reduced.
Is it possible to find out how this is implemented in HQPE and whether it will differ in the method of implementation, for example through a sound card driver or a Windows mixer?
Of course, it’s interesting how complex Jussi is in terms of technical implementation.
And perhaps someone made measurements comparing adjustment via HQPE and a good analog volume control.

The sound will be output through an R2R DAC on AD1862, AD1865, PCM58, PCM63, etc. chips, these are 18-20Bit chips, upscaled to 192 and possibly higher by HQPE.

It’s just that if you didn’t have to use analog volume controls, this would be a lot of advantages to the system, and a more direct signal path, and not wasting money on good controls and convenient setting of behavior for certain events.

Yes it differs a lot from Windows volume control implementation, both in terms of dither implementation and even more so regarding features like noise-shaping.

Higher your output rate, better linearity you get with the noise-shapers and more headroom for the volume control you have too.

In the end, limiting factor is usually analog domain. Since any electronic component will have higher self-noise.

1 Like

Is it possible to set everything to 100% in ALSA, and only regulate it with the regulator in HQPE?
Is the specified initial volume setting stable when starting the system? Can I use it directly from the DAC to a power amplifier without a preamp by removing the volume controls from the signal path completely?

Yes, you can do that.

Yes, as long as there is no configuration mistakes, and headless server without other applications possibly touching audio device.

Yes, but I would only recommend this if the overall gain is not too high to cause damage if there’s a volume accident. Such as power amp with adjustable gain (Benchmark AHB2 or similar).

As you can understand, mistakes and accidents are more likely to happen with complex systems compared to simple analog volume setting.

Some people have used fixed attenuators on their power amp inputs to limit maximum possible volume to safe levels.

1 Like

For version 5.5.1 for Ubuntu Jammy intel, which version supports avx2?

hqplayerd_5.5.1-14_amd64.deb 03-Apr-2024 02:25 176507470
hqplayerd_5.5.1-14intel_amd64.deb 03-Apr-2024 16:32 183489980

1 Like

Both. But if you are on a modern Intel or AMD CPU, you may be best with the first one. Especially if you have AMD. But if you have Intel CPU, you can also try the second one and see how it performs for you compared to the first one.

On both my i9-14900K, and 5800X, I’m using the first one.

2 Likes

@ipeverywhere - you may also check this out as another parameter to tweak

@jussi_laako it looks like for ubuntu server “minimal” set up - readme.txt is not copied, while “changelog” and “copyright” files are there at /usr/share/doc/hqplayerd/
however, for the “normal” ubuntu server set up – readme and bunch of other files are installed allright.

(i’ve been busy reinstalling my ubuntu machine, and can reproduce this behaviour, in particular I was installing hqplayerd_5.5.3-16_amd64.deb on “minimal” and after tried on “normal” ubuntu server packages)

@jussi_laako few of other things I’ve noticed for embedded…

  1. now on my ipad the HQPlayer Web Interace (on 8088) after any refresh first waits for 10 seconds (this is intended), secondly almost always ends up with “Can’t Open Page”. Not a big deal but annoying. On Windows actually the behaviour is same, but seemingly MS browser updates it afterwards. So on Windows Web pages eventually comes back to life, on iPad stays in “Can’t Open Page” and OK after manual refresh

  2. If I start play back via Roon and click “next” before it starts playing or click “next” subjectively too fast (like skipping three songs, for example) HQPlayer freezes deadly and via SSH it takes couple of minutes to “systemctl restart hqplayerd”. I wonder if any “buffer” settings needs to be adjusted.

  3. Playing CD Transport via Remote NAA (HiFiBerry Digi), when I stop playback or change CD’s (effectively stopping playback), more often than not HQPlayer falls into the “Playlist” Input, but not always though. So, almost every time (but not always) when I change the CD in the transport I need to re-select device in the “Input”. It really looks like some type of “buffer / timer” I wonder if this changable? (is it “Idle Time” ?) In conjunction with 1st item, i.e. weird web interface update, the CD change takes a whole minute of refreshes. But sometimes (more rarely) is just a click of “play” button on CD Transport remote control, which is really cool (when it works).

I notice this as well. Shutdown gives 90 seconds for hqplayer to die so nothing is happening for this time as hqplayer won’t die.

It is in the package, I don’t know how it would be possible for the file to not be installed when it is in the package:
/usr/share/doc/hqplayerd/readme.txt.gz

See “dpkg -L hqplayerd”.

This happens if it takes longer than 10 seconds to restart. The page refreshes automatically after 10 seconds based on assumption that it would be enough time for the server to come back. This depends on the particular hardware though, that it is not always so straightforward. But so far I’ve mostly seen this on RPi4 hardware.

This sounds like a Roon issue, but I will try to reproduce and check.

This depends on the transport combined with the behaviour of HifiBerry Digi. If the transport stops S/PDIF output instead of sending silence, HifiBerry Digi also stops. And after 10 seconds HQPlayer gives up trying to get any audio out of the input.

1 Like

You can also just “killall -9 hqplayerd” and it gets restarted. But what does log file say what is going on when it gets stuck such way?

it is in a package, correct. and it comes out at ubuntu server “normal” install. but if I have ubuntu server “minimal” install there are only two files coming out from the package - “copyright” and “changelog”. and it is not related to this particular package, it is with older packages as well.

debconf?

ah, yep. so it seems that some times I’m faster than these 10 seconds. hehe. is this adjustable parameter in config?