Building a Volumio based Streamer

So with volumio being out - the following are my options - request FMs with experience to comment on the ease of setup with the following; keeping in mind - touch screen compatibility via HDMI & currently the only requirement being Spotify connect.


Please guide! thanks!
The first link from pimylifeup installs raspotify, which is nothing but a systemd script to start librespot automatically on boot. librespot is the actual thing that runs in the background. It doesn't give you any UI. But you can use the spotify app on your windows, android, ios, macbook to play music. If you have a DAC connected to your RPI (usb or I2s), all that is required is to configure the device name in the file /etc/raspotify/conf

# the name that will appear in spotify connect
LIBRESPOT_NAME="MusicPI"
# Bitrate (kbps) {96|160|320}. Defaults to 160.
LIBRESPOT_BITRATE="320"
# Output format {F64|F32|S32|S24|S24_3|S16}. Defaults to S16.
LIBRESPOT_FORMAT="S32"
# DAC device name
LIBRESPOT_DEVICE="alsa device name"

To get your ALSA device name for your dac you need to run the command
librespot --device ?
 
The first link from pimylifeup installs raspotify, which is nothing but a systemd script to start librespot automatically on boot. librespot is the actual thing that runs in the background. It doesn't give you any UI. But you can use the spotify app on your windows, android, ios, macbook to play music. If you have a DAC connected to your RPI (usb or I2s), all that is required is to configure the device name in the file /etc/raspotify/conf

# the name that will appear in spotify connect
LIBRESPOT_NAME="MusicPI"
# Bitrate (kbps) {96|160|320}. Defaults to 160.
LIBRESPOT_BITRATE="320"
# Output format {F64|F32|S32|S24|S24_3|S16}. Defaults to S16.
LIBRESPOT_FORMAT="S32"
# DAC device name
LIBRESPOT_DEVICE="alsa device name"

To get your ALSA device name for your dac you need to run the command
librespot --device ?
would I be able to use a screen to display & control - Now playing using this method? I was most inclined towards this - as this is or the third link as this is running spotify directly - instead of using a 3rd party image like volumio or moode as that might give issues with the HDMI display. Not sure though.
 
would I be able to use a screen to display & control - Now playing using this method? I was most inclined towards this - as this is or the third link as this is running spotify directly - instead of using a 3rd party image like volumio or moode as that might give issues with the HDMI display. Not sure though.
Control and Play - No issue. You can control and play from anywhere using the official spotify app
Display will happen on the device which you are using to control (your laptop, destop, iphone/android phone)

To display on the screen directly connected to the RPI, then you will require the spotify app for linux and you can use the snap store to install. But then you loose the ability to run your RPI headless and your RPI will always need to run in graphics mode. The graphics mode entails significant usage of RAM which is fine for RPi4. For RPI3 the extra ram and cpu usage will not give the audio quality that RPI4 will give.
 
Control and Play - No issue. You can control and play from anywhere using the official spotify app
Display will happen on the device which you are using to control (your laptop, destop, iphone/android phone)

To display on the screen directly connected to the RPI, then you will require the spotify app for linux and you can use the snap store to install. But then you loose the ability to run your RPI headless and your RPI will always need to run in graphics mode. The graphics mode entails significant usage of RAM which is fine for RPi4. For RPI3 the extra ram and cpu usage will not give the audio quality that RPI4 will give.
The solution for the best performance is to use a two device approach
1) RPI that has the DAC runs headless in non-graphics mode
2) You dedicate a tablet where all the display happens. So if you have an IPAD or android tablet, nothing like it. Or you can have a second RPI wih a display connected which is another approach with will be still cheaper and more flexible than using a jailed device like IPAD or Android tablets/phones
 
All - I found a very simple, intuitive and clean OS for Rpi - HiFiBerry OS. It also natively supports Spotify Connect - which is great.

However - I am unable to connect on this via spotify (I had the same issue with Volumio & direct install of spotify in Raspbian) as well. Which leads me to believe it could be perhaps an internet issue?

I am using the app on my Macbook Air M1, Iphone & Ipad. The same issue happens.
Spotify sees the device (rpi) - I can select it, but nothing happens, it blinks for a while and then it just stops.

I was wondering if it could be a router setting issue? Can anyone help?

Thanks!
 
I am using the app on my Macbook Air M1, Iphone & Ipad. The same issue happens.
Spotify sees the device (rpi) - I can select it, but nothing happens, it blinks for a while and then it just stops.
I suggest you should try Spotify Connect from an Android device and check if the same problem persists.
I have tried Spotify Connect on various diferent combinations , but always with an Android device, and it's always worked. I'm guessing this could be another case of the Apple ecosystem being a pain.
 
I suggest you should try Spotify Connect from an Android device and check if the same problem persists.
I have tried Spotify Connect on various diferent combinations , but always with an Android device, and it's always worked. I'm guessing this could be another case of the Apple ecosystem being a pain.
None at home :(

If the Spotify app can see the Spotify Connect, then the network should be fine. I hope both the Pi and the Apple devices are in the same network.
Is spotify not supporting Open Source spotify connect anymore? What could be the reason - as air play works for me - but not Spotify Connect.
 
It is so strange for me - Volumio, Moode, Spotify direct install with curl etc on Raspbian, HifiBerry OS - Spotify doesn't work for me.
Works on all things that are supported by spotify - CXN V2, various devices around the house, Denon receiver - everything else.

I am starting to believe this is some local issue with my "tech eco-system" & not really a OS issue with Rpi.
***I have also written images using rPi imager & Bolena Etcher, 2 different SD cards. SpotifyConnect doesn't work!
 
What's your mode of ip addressing, is it static or dynamic from DHCP? If you are putting ip manually make sure dns server ip has been given. You may try different public dns server addresses also like 8.8.8.8 , 4.2.2.4 etc.
 
I suggest you should try Spotify Connect from an Android device and check if the same problem persists.
I have tried Spotify Connect on various diferent combinations , but always with an Android device, and it's always worked. I'm guessing this could be another case of the Apple ecosystem being a pain.
+1 and it works flawlessly with macbook and IOS too because I use all combinations at home. It works so flawlessly that I prefer it to apple music

When it comes to spotify connect it works like a charm. All 3rd party distributions sitting on top of Rasbian (moode, hifiberry, huckleberry) use librespot (written in Rust programming language) and that's the only solution available after spotify close sourced their own libspotify. They all package it differently. Moode installs raspotify (which again uses librespot). So whether it is hifiberry, huckleberry or any damn name, they all use librespot https://github.com/librespot-org/librespot. So what can go wrong? Raspotify calls librespot using config from /etc/raspotify/conf. hifiberry must be doing the same or using the config from some other location. To troubleshoot do the following

1) check if librespot is running
ps -ef | grep spot

2) Check for any error in the logs
journalctl -l | grep spot

The output of the above two commands will give a clue
 
Last edited:
You might want to give picoreplayer+logitech media server a try (my preferred stack). Jivelite has some great visuals and a touch screen UI. LMS offers a nice web UI, or an android phone app. Spotify is available as an LMS plugin.
 
A very random question.
Could the spotify connect not be working as - there is no output from the board? I am still waiting on the HifiBerry Hat to arrive and none of the USB plugs are giving output to RME. Could that be the reason?

Same was the case with Moode & Volumio.

*****Can anyone with an Rpi check this - by removing all their outputs to see if Spotify Connect still works? If it is not asking for too much :)

The USB ports do detect - a pen drive though - if I dump a couple of songs in there - they show up.
 
A very random question.
Could the spotify connect not be working as - there is no output from the board? I am still waiting on the HifiBerry Hat to arrive and none of the USB plugs are giving output to RME. Could that be the reason?

Same was the case with Moode & Volumio.

*****Can anyone with an Rpi check this - by removing all their outputs to see if Spotify Connect still works? If it is not asking for too much :)

The USB ports do detect - a pen drive though - if I dump a couple of songs in there - they show up.
You can set the output spotify connect to the native pi audio device and test it in your setup. In this case you will have atleast 2 devices, the HDMI audio out and the headphone output. Do aplay -l from shell to find the names to be used in the configuration file
 
@mbhangui - running librespot - check command -

# ps -ef | grep spot
root 759 1 0 12:21 ? 00:00:00 /usr/bin/vollibrespot -c /etc/vollibrespot.conf
root 1052 1049 0 12:23 pts/0 00:00:00 grep spot


for Log - I am getting this -

Apr 06 12:20:54 hifiberry python3[423]: INFO: audiocontrol2 - configuring watchdog spotifyd: ['spotify']
Apr 06 12:21:19 hifiberry systemd[1]: Starting Vollibrespot...
Apr 06 12:21:20 hifiberry vollibrespot[759]: vollibrespot v0.2.4 UNKNOWN UNKNOWN (librespot 1a224a3 2020-10-25) -- Built On 2023-04-03
Apr 06 12:21:20 hifiberry vollibrespot[759]: Reading Config from "/etc/vollibrespot.conf"
Apr 06 12:21:20 hifiberry vollibrespot[759]: [Vollibrespot] : Using Alsa backend with device: default
Apr 06 12:21:21 hifiberry systemd[1]: Started Vollibrespot.
Apr 06 12:21:29 hifiberry node[775]: Registering source 'spotify'...
Apr 06 12:21:30 hifiberry vollibrespot[759]: [Vollibrespot] : couldn't parse packet from 192.168.1.99:5353: type 47 is invalid
Apr 06 12:21:30 hifiberry vollibrespot[759]: [Vollibrespot] : couldn't parse packet from 192.168.1.99:5353: type 47 is invalid

Thanks
 
A very random question.
Could the spotify connect not be working as - there is no output from the board? I am still waiting on the HifiBerry Hat to arrive and none of the USB plugs are giving output to RME. Could that be the reason?

Same was the case with Moode & Volumio.

*****Can anyone with an Rpi check this - by removing all their outputs to see if Spotify Connect still works? If it is not asking for too much :)

The USB ports do detect - a pen drive though - if I dump a couple of songs in there - they show up.
Not sure if this helps.

I had the same issue when I installed LMS on Asus Tinker. The USB ports were silent. There is no on-board audio on the model I have TB 2 S. I plugged in my active speaker to the Audio Out of my HDMI monitor. Lo and behold - music was ON.

I found that on the squeezelite player config file, I had to use the digit specified in ALSA MIXER for the USB Audio device not the description to point to the audio playback device. It was "0" for HDMI and "1" for the DAC on the USB. I put "1" and it worked. The script is on my thread in DIY.
 
@mbhangui - running librespot - check command -

# ps -ef | grep spot
root 759 1 0 12:21 ? 00:00:00 /usr/bin/vollibrespot -c /etc/vollibrespot.conf
root 1052 1049 0 12:23 pts/0 00:00:00 grep spot


for Log - I am getting this -

Apr 06 12:20:54 hifiberry python3[423]: INFO: audiocontrol2 - configuring watchdog spotifyd: ['spotify']
Apr 06 12:21:19 hifiberry systemd[1]: Starting Vollibrespot...
Apr 06 12:21:20 hifiberry vollibrespot[759]: vollibrespot v0.2.4 UNKNOWN UNKNOWN (librespot 1a224a3 2020-10-25) -- Built On 2023-04-03
Apr 06 12:21:20 hifiberry vollibrespot[759]: Reading Config from "/etc/vollibrespot.conf"
Apr 06 12:21:20 hifiberry vollibrespot[759]: [Vollibrespot] : Using Alsa backend with device: default
Apr 06 12:21:21 hifiberry systemd[1]: Started Vollibrespot.
Apr 06 12:21:29 hifiberry node[775]: Registering source 'spotify'...
Apr 06 12:21:30 hifiberry vollibrespot[759]: [Vollibrespot] : couldn't parse packet from 192.168.1.99:5353: type 47 is invalid
Apr 06 12:21:30 hifiberry vollibrespot[759]: [Vollibrespot] : couldn't parse packet from 192.168.1.99:5353: type 47 is invalid

Thanks
This makes it clear that volumio too is using librespot but with config in /etc/vollibrespot.conf. Also the librespot daemon is not using your DAC. The output is being sent to the default alsa device which happens to be the headphone out or the HDMI (if you connect a TV monitor) to the HDMI out, you will get the sound on your TV speakers.

Run this command and post the output here
cat /etc/vollibrespot.conf

Also I need the output of the two commands pasted here

aplay -l

vollibrespot --device ?
 
This makes it clear that volumio too is using librespot but with config in /etc/vollibrespot.conf. Also the librespot daemon is not using your DAC. The output is being sent to the default alsa device which happens to be the headphone out or the HDMI (if you connect a TV monitor) to the HDMI out, you will get the sound on your TV speakers.

Run this command and post the output here
cat /etc/vollibrespot.conf

Also I need the output of the two commands pasted here

aplay -l

vollibrespot --device ?
Thanks you so much @mbhangui - as always :)

2 questions though -
should I run this command before connecting and outputs? -
cat /etc/vollibrespot.conf

'
Should these commands be applied in any order and before or after the output connections ?
aplay -l

vollibrespot --device ?
 
Back
Top