HQPlayer Embedded Discussion [2021-2022]

Just read the Ars Technica review of the Mac Studio and I’m really intrigued about it potential as a headless HQPlayer server for my vacation place. I realize that Embedded is only available for Linux, but I’d rather not have to deal with setting up a desktop for the server. What are my options?

I’ve had some joy with a containerised version under Docker. Given Roon also runs containerised that might work well. Still playing here ATM and am short enough on time that it’ll be 8 days until I play again.

Edit: This suggests it might work nicely: Using Apple Silicon (M1) as a cloud engineer, two months in - Earthly Blog

If you’re interested this Dockerfile gets an embedded version running and gets over the unattended install of HQP and the need for a missing render group:

FROM debian:bullseye

LABEL maintainer="me@example.com" \
      version="0.1"
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
RUN echo 'hqplayerd hqplayerd/license note true' | debconf-set-selections
RUN echo 'hqplayerd hqplayerd/groups note true' | debconf-set-selections
RUN apt-get update && groupadd render

ADD https://www.sonarnerd.net/src/bullseye/libgmpris_2.2.1-9_amd64.deb /tmp
ADD https://www.signalyst.eu/bins/hqplayerd/bullseye/hqplayerd_4.30.4-128_amd64.deb /tmp

RUN apt install -y /tmp/libgmpris_2.2.1-9_amd64.deb && apt install -y /tmp/hqplayerd_4.30.4-128_amd64.deb
RUN hqplayerd -u hqp hqp

ENTRYPOINT hqplayerd

To build it from the file this command in the same dir as Dockerfile

docker build -t <dockerid>/hqplayer .

You can run the container with:

docker run -p 8088:8088 -i --name=hqplayer <dockerid>/hqplayer:latest

This was an hour or so’s work but I haven’t tried using it in anger. The web config screen works on localhost:8088 but no attempt to play anything yet. <dockerid> can be anything you want it to be unless you want to push to Dockerhub when you’ll need a unique/sensible name. I use killdozer for non published containers :wink:

User name and password are hqp but this can be changed by tweaking this line: RUN hqplayerd -u hqp hqp.

4 Likes

Maybe few other lines.

One where it would install needed configuration file, so that the instance doesn’t need to be reconfigured every time the container is started.
And another where it would install license key file.

It could work to at least NAA outputs.

If you run on M1, you would likely want to use the arm64 container and packages instead for native code…

1 Like

I’ve not tried anything with it yet but realise I’m going to have to get the config serialised to the host somewhere, possibly the logs as well. I confess I logged on and left it there. I’m running on a Debian box but M1 interests me…

Hi Jussi, I’ve been enjoying HQPos on a RPi 4. Im using usb to connect to a Topping e30 at the moment whilst waiting for my Ares2 to get replaced.

First question is about some appropriate 1xfilter and nx filter settings, to work with NS9 dither. Playback drops out regular for half a second at 768 but is fine at 384. I’m currently using sinc-L for both 1x and Nx filters. What would you advise as a start point. I mainly listen to electronic music.

Second question is on licensing, firstly on an embedded licence can I use multiple NAA’s? Is it a one off payment, or annual? Final question, once I purchase a license, do I need to keep starting through HQPlayer and Roon?

For example poly-sinc-gauss for 1x and poly-sinc-gauss-hires for Nx.

Use of NAA’s don’t incur additional costs.

HQPlayer licenses are for a single major version of the software. Currently 4.x

I’m not sure I understand this question…

Once purchased, do I play music using HQP GUI or just with Roon.

It is up to your choice which way you like to play music.

There are so many ways to play music through HQPlayer.

Like my thread here:

Using any audio source with HQPlayer - Spotify, Amazon, Apple Music, YouTube Music, Deezer, Soundcloud [2021-2022]

Impossible for Jussi to say what is the best way to listen to music.

I probably prefer listening to music a different way to Jussi for main listening.

There’s no right/wrong way (assuming bit perfect delivery to HQP :grinning: )

Hi DBGBB,

As EOFY is drawing closer, I need a new desktop. I’d like to grab a Mac mini, it’s primary use would be for playing with HQP.

Is it powerful enough to fiddle with HQP and start to experiment with DSD up to 512? And then learn about room correction.

Cost of i9 is a price hike. So what are your thoughts on my best options on the current market?

Hi Steven

Do you have a local PC shop around?

You might be surprised to find an i9-10900K or 11900K comes to the same price as a Mac Mini M1

Maybe a 12900K for just a little more.

EOFY sale should be good.

16GB RAM

Noctua NH-D15 fan

Fractal Design case

Seasonic PSU (wattage depends if you plan to add a big GPU later for HQPlayer CUDA offloading)

If the machine is only for HQPlayer, 256gb M.2 Nvme SSD is enough.

Start asking local shops for quotes to build the whole thing for you.

And compare to the Mac Mini M1 price.

Thanks.

We have a big IT dept. I think if I give this spec to them, they will enjoy this “project”.

My Ares2 is getting fixed up, so after Easter, I’m looking at a new hobby emerging.

I appreciate the advice.

1 Like

Just in case you weren’t aware: an Embedded license doesn’t cover HQP Desktop.

And a HQP Desktop license doesn’t cover Embedded.

Yeah I know, and I’m still torn between the two. I’ve flip flopped a couple of times. I have embedded working atm on RPi, but before I dive in and pay, I’d like to spend time using Desktop

2 Likes

So the containerised HQPEmbedded is working. :slight_smile:

2 Likes

What is the host OS in this case? Output to NAA or a local device?

For now, the HQPE device is a Debian bullseye container on a bullseye host. I’ve started with NAA on a raspberry pi, so not containerised but am about to try that next (HQPE and NAA containerised). Am guessing I’ll have to tweak the device passthrough for my Mojo to the NAA container. I’ll also try ALSA and passthrough on the HQPE instance as you suggest, will let you know if it works or I give up :wink:

I’ve got it working for the Mojo as a local USB device, no NAA now just the HQPE instance:


The docker run command now looks like this:

docker run -v "<some host dir>":"/etc/hqplayer" --name=hqplayer --detach --network=host --device /dev/snd  killdozer/hqplayer:latest

Edit My current Dockerfile

FROM debian:bullseye

LABEL maintainer="killdozer.carl@gmail.com" \
      version="0.1"
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
RUN echo 'hqplayerd hqplayerd/license note true' | debconf-set-selections
RUN echo 'hqplayerd hqplayerd/groups note true' | debconf-set-selections
RUN apt-get update && groupadd render

ADD https://www.sonarnerd.net/src/bullseye/libgmpris_2.2.1-9_amd64.deb /tmp
ADD https://www.signalyst.eu/bins/hqplayerd/bullseye/hqplayerd_4.30.4-128_amd64.deb /tmp

RUN apt install -y /tmp/libgmpris_2.2.1-9_amd64.deb && apt install -y /tmp/hqplayerd_4.30.4-128_amd64.deb
RUN hqplayerd -u hqp hqp

VOLUME [ "/etc/hqplayer" ]

ENTRYPOINT hqplayerd

From the device node that looks like OSS emulation, which is potentially problematic. So you could check bitperfectness using DSD over DoP. If it works without problems you can be pretty sure the path is bitperfect.

I would gladly do so if I had the means to perform the test. No FOSS tools spring to mind. Do you have a method?