Librespot Entrypoint: Play Spotify in any (or all) of your Roon zones

Introduction

The Entrypoints Wiki describes a method on how to use the Audio Entrypoint to get a Spotify or Airplay stream into Roon. As this tinkering method requires the installation of additional applications and the setup of an alsa loopback device it is pretty restricted in its use.

Over the last few months I looked into ways to make a dedicated Entrypoint extension for Spotify and now I’m pleased to present the results of that effort to you all.

The extension is called Librespot Entrypoint and is the latest member in the Entrypoints family. It can be installed with the Extension Manager and it can run besides any of the other Entrypoint extensions.

How it works

The extension identifies itself as a Spotify Connect device and converts any music it receives into a web radio stream that can be picked up by Roon. In its basic form you connect to the device, start playback in the Spotify app and play the web radio stream in Roon.

But there is more, by setting up Auto Control you give the Spotify app control over a zone, or a zone group. Now the Spotify app is a guest remote for this zone, taking care of playback and volume control.

This brings the following:

  • The Spotify user uses an app that is known and a personal library that is known
  • When Play is pressed the Roon zone automatically tunes in on the Live Radio station that has been setup
  • The upper limit of the volume control in the Spotify app is the Roon comfort limit, so you set the limits
  • When there is a party then zones can be grouped and the guests can pick what is playing, without the need to hand out you Roon Remote
  • The Roon zone still takes care of any DSP settings that are applied, e.g. room correction
  • One extension running in the network can turn any Roon zone into a Spotify Connect zone

One thing to note: the web radio approach gives a playback delay of about 5 seconds (doesn’t apply to volume control), inform the Spotify user about this.




If you are new to Entrypoints then please start off by reading the Entrypoints Wiki. The Wiki has been updated with install and setup instructions for the Librespot Entrypoint.

Let me know about your use case for this extension, I’m sure further fine tuning can be done.

BTW For those who are wondering about why it is called Librespot Entrypoint and not Spotify Entrypoint, there are a few practical reasons.

  • Spotify doesn’t allow a 3th party app to have a name that starts with “Spot” (stated in Developer Policy). Although I’m not directly using their API, I took the safe route and named it after the app that takes care of the main functionality: Librespot
  • Librespot is a nice piece of software that I now give credit via the extension name
  • RoPieee users might already recognize the name as @spockfish also uses the name in the RoPieee XL product

BTW2 For this extension to exist I had to start a Spotify trial, there are still 2 weeks remaining of the one month trial and I have to decide later if I keep my subscription.

7 Likes

Version 0.2.0 is now available!

This release has two changes:

  • Implement volume control for zones that get online after extension startup
  • Update to the latest Liquidsoap release (v2.0.3)
3 Likes

I wonder do many Roon users know what an easy way (relatively) this is to get Spotify to play through Roon.

I have a set of HAF filters from Thierry that I want to use so although my Aries has a Spotify connect I now have my DSP in the mix through Roon.










.sjb

2 Likes

@Jan_Koudijs Whats the chances of getting metadata into now playing ike we get from Internet radio when its availble?

Also I take it if you want have this to have controlof multiple zones independantly you would need to run seprate instances of the extension? This isnt possible on the same hardwre though is it? Just asking as Spotty on LMS does this to allow streaming to individual endpoints each endpoint runs its own instance of librespot.

Regardless this is a great extension simple and effecttive.

Been using this for last 3 hours, it’s really good Jan.