World's most expensive Spotify playback system

So – every now and then I use Spotify. Bite me. :slight_smile:

Though my LS50 Wireless II come with Spotify Connect, that’s not much fun. Having dabbled with HQPlayer lately and wanting to use its upsampling prowess when playing Spotify, I cobbled together a nice solution using @Jan_Koudijs’s great Entrypoints extension and @Ronald_Record’s excellent Command Line Control.

In short: Entrypoints is turning a spare Pi into something that basically ships out all audio (including raspotify) on the device to a web stream that Roon can take in as a Live Radio station. Pretty nifty – and done in 15 minutes.

But we wouldn’t want set up all that jazz (open Roon Remote, choose zone, select Radio station, press play) manually whenever we want to listen to Spotify, would we? That’s where the Command Line Control comes in, together with a little bit of Apple Shortcuts Magic:

The Shortcut logs into my Roon Server (Debian), executes a little Python script powering on my LS50 and selecting the correct input. Then it tells Roon to select the correct zone and play the Spotify Radio station. The Shortcut is added to my iOS devices and MacBook Menu Bar:

One click and the stage is set. All of this – and more! – could be yours for just $997.99 (Roon & HQPlayer – not counting the Pi). :smiley:


For those on a budget, know that the HQPlayer part is completely optional :smiley:

1 Like

Hehe but funny and very usable, life-affecting thing. Implementation scripts, full open for integration with everything - in short - easy peasy and you have Spotify on propos. No green but diamond here. :wink:

Apple do some things so good

In the end, I simplified things a bit:

That’s Spotify > BlackHole > HQP4 Desktop > NAA, running on the Mac-mini-in-the-cupboard that also runs Roon/HQP Embedded. Turn-key, always-on and readily available from any Spotify app in the house.

Brings down the TCO a bit. On the other side – I bought an extra license for HQP Desktop, so there’s that. Oh well… :wink:

Nice. There’s a few different ways to feed Spotify (or anything!) into @jussi_laako 's HQPlayer.

Not only for upsampling but digital room correction and/or speaker DSP crossover or headphones EQ , if one uses those things. I use all.

Yeah… It’s good stuff. Now for a bit of automation: wouldn’t it be nice to start a few favourite playlists or albums with a single button press on the iPhone. Or the Mac? Or the Watch?

Nothing a tiny bit of Applescript wrapped in an Automator workflow executed over SSH by Shortcuts cannot handle:

Come to think of it: Command Line Control for Roon can do exactly that – and more. Now that Spotify is a wrap, let’s focus on that. And on the Digione that comes in tomorrow to create an extra NAA Pi for Roon > HQP4 Embedded.

Tinkering time is almost up – but boy, did we have fun. :wink:


With the bundled “hqp-control2” command line utility you can script control HQPlayer sources and playback, so you can get that stuff started too.

Hey @jussi_laako – thanks for the nudge! Just had a go this morning… Works as advertised. Controlling playback and changing filters & shapers from the command line is just great and opens up a whole new avenue for automating stuff. :smiley:

rene@George ~ % roon -c stop                       
rene@George ~ % hqp-control2 debian --set-filter 27
rene@George ~ % hqp-control2 debian --set-shaping 4
rene@George ~ % hqp-control2 debian --set-rate 8
rene@George ~ % roon -c play     

I think I’ll leave the Spotify > BlackHole > HQP4 Desktop > NAA chain untouched (my family relies on it) and go to town on the Debian/Roon Server/HQP4 Embedded install (my playground).

More to come. :smiley:


OK – last one. For the year… :wink:

HQPlayer autoswitches whenever playback is started from Roon (nice!). This little Shortcut (re)sets the correct transport for Spotify audio via BlackHole and tells both apps to get on with it:

1 Like

@jussi_laako – A quickie: I am trying to use --configuration-load from hqp-control2 to make HQP4 (Desktop) switch filters & output (between two naa’s):

hqp-control2 dylan --configuration-load /Users/rene/Documents/HQP/digital.xml

Nothing appears to happen though – am I holding it wrong? :slight_smile:

This was supported on HQPlayer v3, but not anymore on v4.

Architecture in v4 was unified with Embedded. Dealing with configuration from control API is like trying to paint outside walls of a house while staying inside.

You can switch filters and such with the --set-filter and other applicable commands. But switching outputs through the control API is not possible at the moment.

1 Like

Thanks – can’t have it all, I guess, but good to know that I’m not crazy. I’ll just return to plan A and put that second license to good use. :smiley:

Any yes – switching filters and shapers (and transports) from the command line is very convenient.

OK – last one, I promise. :smiley:

In order of appearance:

  1. Set Spotify to pause as to avoid nasty noise when activating the HQP transport
  2. Make Spotify Web API credentials available
  3. Select the correct Spotify Connect output
  4. Set the correct HQP4 transport and activate with play
  5. Play/Pause Spotify to activate the zone on client devices
  6. Set the speakers (KEF LS50WII) to the correct input for the NAA
  7. Open Spotify app on client device

Marked @done.