Squeezelite player standalone for Squeezebox

This one failed to install unfortunately like the early versions:

Setting up libgdk-pixbuf2.0-bin (2.36.11-2) ...
Setting up libvdpau1:arm64 (1.1.1-3ubuntu1) ...
Setting up libpulse0:arm64 (1:11.1-1ubuntu7.10) ...
Setting up va-driver-all:arm64 (2.1.0-3) ...
Setting up libpango-1.0-0:arm64 (1.40.14-1ubuntu0.1) ...
Setting up libva-x11-2:arm64 (2.1.0-3) ...
Setting up libcairo2:arm64 (1.15.10-2ubuntu0.1) ...
Setting up libsox-fmt-pulse:arm64 (14.4.2-3ubuntu0.18.04.1) ...
Setting up libsox-fmt-all:arm64 (14.4.2-3ubuntu0.18.04.1) ...

Setting up libavutil55:arm64 (7:3.4.8-0ubuntu0.2) ...
Setting up mesa-vdpau-drivers:arm64 (20.0.8-0ubuntu1~18.04.1) ...
Setting up libswresample2:arm64 (7:3.4.8-0ubuntu0.2) ...
Setting up libpangoft2-1.0-0:arm64 (1.40.14-1ubuntu0.1) ...
Setting up libsox-dev:arm64 (14.4.2-3ubuntu0.18.04.1) ...
Setting up libtheora0:arm64 (1.1.1+dfsg.1-14) ...
Setting up vdpau-driver-all:arm64 (1.1.1-3ubuntu1) ...
Setting up libavutil-dev:arm64 (7:3.4.8-0ubuntu0.2) ...
Setting up libpangocairo-1.0-0:arm64 (1.40.14-1ubuntu0.1) ...
Setting up libswresample-dev:arm64 (7:3.4.8-0ubuntu0.2) ...
Setting up librsvg2-2:arm64 (2.40.20-2ubuntu0.2) ...
Setting up libavcodec57:arm64 (7:3.4.8-0ubuntu0.2) ...
Setting up librsvg2-common:arm64 (2.40.20-2ubuntu0.2) ...
Setting up libchromaprint1:arm64 (1.4.3-1) ...
Setting up libavcodec-dev:arm64 (7:3.4.8-0ubuntu0.2) ...
Setting up libavformat57:arm64 (7:3.4.8-0ubuntu0.2) ...
Setting up libavformat-dev:arm64 (7:3.4.8-0ubuntu0.2) ...
Processing triggers for libc-bin (2.27-3ubuntu1.3) ...
Processing triggers for libgdk-pixbuf2.0-0:arm64 (2.36.11-2) ...
Removing intermediate container 2d8efeb2a695
 ---> 0aba6f86c8bb
Step 14/25 : RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
 ---> Running in 9835d31e34f7
Removing intermediate container 9835d31e34f7
 ---> 23beb042d99b
Step 15/25 : COPY rootfs /
 ---> ded7789e23ae
Step 16/25 : RUN rm -fr /tmp/squeezelitetemp && 	mkdir -p /tmp/squeezelitetemp
 ---> Running in 5d5541e0246b
Removing intermediate container 5d5541e0246b
 ---> 8a44c0402905
Step 17/25 : COPY /bin/${BUILD_ARCH}/* /tmp/squeezelitetemp/
 ---> 658f89c887ac
Step 18/25 : RUN	cd /tmp/squeezelitetemp && 	tar -xvzf /tmp/squeezelitetemp/*.tar.gz && 	mv /tmp/squeezelitetemp/squeezelite /usr/local/bin/squeezelite && 	chmod a+x /usr/local/bin/squeezelite && 	chown root:root /usr/local/bin/squeezelite && 	if [ "${BUILD_ARCH}" = "aarch64" ]; then && 	dpkg -i libc6_2.29-0ubuntu2_arm64.deb && 	fi && 	cd / && 	rm -fr /tmp/squeezelitetemp
 ---> Running in 2120571605b7
/bin/bash: -c: line 0: syntax error near unexpected token `&&'
/bin/bash: -c: line 0: `cd /tmp/squeezelitetemp && 	tar -xvzf /tmp/squeezelitetemp/*.tar.gz && 	mv /tmp/squeezelitetemp/squeezelite /usr/local/bin/squeezelite && 	chmod a+x /usr/local/bin/squeezelite && 	chown root:root /usr/local/bin/squeezelite && 	if [ "${BUILD_ARCH}" = "aarch64" ]; then && 	dpkg -i libc6_2.29-0ubuntu2_arm64.deb && 	fi && 	cd / && 	rm -fr /tmp/squeezelitetemp'

Removing intermediate container 2120571605b7
1 Like

Well that was my butter fingers handling the bash if-sentence wrong :slight_smile: Try this version https://github.com/large/hassio-addons/archive/v1.32b.zip

This one installs and seams to go further than the previous versions. It does fail in the end and also repeats.

 Add-on version: 1.32b
 You are running the latest version of this add-on.
 System: HassOS 5.3  (aarch64 / raspberrypi4-64)
 Home Assistant Core: 0.116.4
 Home Assistant Supervisor: 2020.11.0
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
[cont-init.d] 00-banner.sh: exited 0.
[cont-init.d] 01-log-level.sh: executing... 
[cont-init.d] 01-log-level.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[14:47:20] INFO: Starting the Squeezelite client daemon...
[14:47:20] INFO: name =  Home Assistant Squeezelite
[14:47:20] INFO: clientmac =  0A:0B:0C:0D:0E:0F
[14:47:20] INFO: sounddevice =  default
[14:47:20] INFO: Extra options =  -d all=info
[14:47:20] INFO: Squeezelite possible outputs...
Output devices:
  null                           - Discard all samples (playback) or generate zero samples (capture)
  default                        - Default ALSA Output (Home Assistant PulseAudio Sound Server)
[14:47:20] INFO: Starting squeezelite client...
[14:47:20.220404] stream_init:449 init stream
[14:47:20.224673] output_init_alsa:940 init output
[14:47:20.224915] output_init_alsa:979 requested alsa_buffer: 40 alsa_period: 4 format: any mmap: 1
[14:47:20.228495] ALSA snd1_dlobj_cache_get:254 Cannot open shared library /usr/lib/aarch64-linux-gnu/alsa-lib/libasound_module_pcm_pulse.so
[14:47:20.228864] test_open:281 playback open error: No such device or address
[14:47:20.228965] output_init_common:391 unable to open output device: default
[14:47:21] INFO: Starting the Squeezelite client daemon...
[14:47:21] INFO: name =  Home Assistant Squeezelite
[14:47:21] INFO: clientmac =  0A:0B:0C:0D:0E:0F
[14:47:21] INFO: sounddevice =  default
[14:47:21] INFO: Extra options =  -d all=info
[14:47:21] INFO: Squeezelite possible outputs...
Output devices:
  null                           - Discard all samples (playback) or generate zero samples (capture)
  default                        - Default ALSA Output (Home Assistant PulseAudio Sound Server)

Edit: does it have to do with the configuration? Default is:

name: Home Assistant Squeezelite
output: default
clientmac: '0A:0B:0C:0D:0E:0F'

I left it like that, because I figured thatā€™s how it needs to be in order to work.

Edit 2: I changed the mac address to the raspberry piā€™s mac address, but that didnā€™t work. I think thatā€™s not the issue then?

Great now the executable actually runs and it fails on the ā€œpulseā€ part of the audio. We are near now :slight_smile:

Iā€™ll figure out how to get pulse running on arm64 and update the packages needed.

Edit: Default config would work, this error is sound output releated

1 Like

I have added libasound2-plugins and libasound2-data to the packages to see if that is required for alsa.
Try this version https://github.com/large/hassio-addons/archive/v1.33b.zip

1 Like

Works!! :partying_face::partying_face::partying_face: Amazing work!


I want to purchase a HifiBerry DAC for this RPI running HA as client and setup PiCoreplayer on different clients and one server. Any advice on how to have clean audio sync with multiroom? I notice a delay with the clien on HA and on the server running a client (PC right now, waiting for RPI4ā€™s to come in). I fiddled around with the synching options but doesnā€™t seem to get tighter (only wider if changing).

Edit: I have it in sync now by messing around a more. Works fantastic, hereā€™s hoping the latency stay like this and I donā€™t need to change it every day depending on network/play. Gonna be a fun project when I move next month to a new appartment with 5 rooms to fill with music :smiley:!

1 Like

That is great news @ASNNetworks!
Great thank you for the patience to get this running. Iā€™ll merge it into a new release later tonight.

I am not a master of multiroom, but I have 8 old Logitech Squeezeboxes Radio/Booms around the house controlled by HA with scripts (turns on/off by given times). Also adding the plugin ā€œSpottyā€ into Squeezebox-server makes it great!

My HA server runs speakers on my terrace synched with the livingroom squeezeboxes, never heard any difference between in/out so the sync is good. But I am not an audiophile either, so I donā€™t mind a little glitch :wink:

Have fun moving, again thanks for the help

1 Like

Thanks for giving this amazing component to the community!

I think the delay is just very noticeable now because I have both speaker in the same room. In the new setup they will all be in separate rooms, so perhaps itā€™ll be less noticeable. I use Google Cast speakers now. Though I hate the speakers and how group speakers work, they do have syncing done 100% accurate.

Should I delete this version tonight and install using your repo through add-on store, incase you update stuff in the future?

Iā€™ll let you know when to switch ā€œbackā€ to the repro version :+1:

1 Like

I just updated the repro and Squeezelite plugin is now v1.35 that should be working for all architectures.
Thanks for the testing support @ASNNetworks :+1:

1 Like

I uninstalled the previous one, reloaded the repo (just to be safe) and installed it. Everything is running again (just to confirm!). Again: thanks alot for all your work and time. I think itā€™s amazing how a question/status update on a three month old topic has led to a fully working squeezelite player on HA!

I just ordered a HifiBerry Digi+ Pro for my soundbar :smiley: The proces of moving to LMS from Google Cast speakers has begun!

1 Like

@large Great work on this!!! Iā€™ve still to try this out but I was really hoping for an addon like this one.

@ASNNetworks Please let me know if the DAC will work out of the box.
Iā€™ve an ALLO BOSS DAC that I already use with a rpi3 and squeezelite, and I would like to move it to the one that is running Hassio.
But if I remember correctly I had to install some libraries to make it work.
If thatā€™s the case, I donā€™t know if it would be possible to install that stuff on Hassio. Maybe an USB soundcard would work more easily.
The standard Out of the rpi is really bad.

1 Like

Thank you for the kind words @infiniteloop

I have always used sound over hdmi and nobody have complained about the quality of the RPi sound.
Of cause the DAC is a better Yamaha receiver so that could be the reason for it :slight_smile:

It is possible to download the addon locally and modify the docker file to suit your needs for the DAC you are trying to use.

Yep, I was referring to the 3.5 mm out.
Probably an USB sound card is the simpler way to go. Usually they are recognized out of the box without any additional library. You just have to indicate to Squeezelite to use that card for output.
As soon as I can try Iā€™ll let you know.

1 Like

So I receiver the HifiBerry Digi+ Pro and connected it to my RPI4. It does show up in my hardware panel:
msedge_NyuXtmgApF

When going in to the configuration of Squeezelite, I now see ā€˜Built-in Audio Digital Stereoā€™ twice. Also there now is an input, with also that name. I tried both the the outputs, but I get no audio.

I donā€™t know if the add-on doesnā€™t work with the board, or if my soundbar itself is not working as intended with the optical input (I havenā€™t used that before).

Also Squeelite log shows:

Output devices:
  null                           - Discard all samples (playback) or generate zero samples (capture)
  pulse                          - PulseAudio Sound Server
  default                        - Default ALSA Output (Home Assistant PulseAudio Sound Server)

Iā€™m not sure what to do now: get a different board (maybe DAC with RCA) or just get a separate Raspberry Pi if Home Assistant doesnā€™t support other audio outputs. Kind of a bummer this.

Edit: so I noticed when selecting the first output, my analog works. But selecting the second one, there is no analog audio. This should mean that the second one is the Hifiberry card. Still no audio though, hmmā€¦

Also I have no audio with RPI4 over HDMI. Tried it with the Spotify Connect addon as well a while ago. I canā€™t select it (see only the Built-in Audio one) and there is no input/sound on my soundbar on the input where the RPI4 connects to. This was the reason I wanted to get a Hifiberry.

I am currently busy, but I think we can fix this by updating the addon.
Donā€™t give up the idea that the hifiberry could work in HA :+1:

If we force pulseaudio to select another sink as default it should work, but it theory of cause :slight_smile:
Since each of the addon is runned under a docker, we need to change these settings on each start, so my ā€œrunā€-script could read a new parameter for sink. I never tried this since I only use HDMI on my NUC.

Iā€™ll look into it on thursday/friday to see if we can get this running.

Edit:
There are integration that should handle this quite well in HA:


Little howto on Rpi4: https://raspberrypi.stackexchange.com/questions/112954/how-to-restore-audio-output-after-updating-raspbian-buster-on-pi4

Edit2:
Someone with equal challenge as you: HiFiBerry with Spotify Connect on Hassio and they stated that it should be shown in: hw audio

If so it should be available as a output device
My guess here is that the ARM64 for RPi4 could be the reason atm.

1 Like

Thanks so much, you really are amazing for digging into this! I think you are right: 64bit Hassio is in beta, so chances are stuff wonā€™t work properly yet. I think your guess is right. In the meantime, I restarted my RPI while having the HDMI plugged in. This made it work. I now have full audio through HDMI on my soundbar.

Whatā€™s your advice? Do you think itā€™s worth the time to work on the Hifiberry board and dig deeper? Or should I just stick to HDMI (which is fine for me, the only reason I got this board is because HDMI out didnā€™t work before).

I left a message on that thread just in case.

Edit: I donā€™t really like the lag HDMI brings compared to analog :confused: Have been fiddling all evening and itā€™s just not as tight as with analog. Maybe Iā€™ll get the DAC+ and hope that one can work. I experience a lot of audio cutouts right now as well. Not sure if itā€™s the HDMI cable, the add-on, the RPI4 or something in between. I remember the analog worked very stable (though the sound sucked).

Edit: Could it be the power supply of the RPI4? I have a deCONZ Conbee II stick, ZWave stick and a ssd through sata > usb 3.0 connected. Does audio over HDMI draw out more power than analog? I have the standard Raspberry Pi 4 charger that you can purchase with it. I see itā€™s a 3.0A power supply.

Edit: I tried boosting HDMI by editing and commenting out a line in config.txt on boot drive. Seems to work for now (fingers crossedšŸ¤žšŸ¼).

Sorry for these huge offtopic responses. I figured perhaps someone else runs into the same stuff and can maybe save some time.

I decided to keep HDMI for now on the player running on RPI4 through HA since it works fine (albeit more latency, which I think I have solved through the settings). I also noticed optical on my soundbar is kinda annoying to use/setup. Since HDMI has great sound anyway to me there is no reason to use the sound board on the RPI4 running HA.

I do want to get Hifiberry DACā€™s for my PiCoreplayers. But those support them anyway from what I read.

Btw: A tip for people who are new to LMS. Make sure you change the mac address in the configuration settings. If you use the highly recommended Material skin and use mysqueezebox.com for apps (like Tidal and Deezer) then the squeelite player will not show there. This will result in empty app lists when Material skin refreshes.

I changed it to the mac address of the RPI4 the add-on runs on. The player shows on mysqueezebox.com and the apps work as it should :smiley:

@large Hi, I sometimes notice some audio dropouts with the player running on HA. This happens also when the speaker is not playing in sync (so only solo). Iā€™m using it through HDMI btw.

I tried different combinations of my players and it seems only this one has dropouts. The PiCoreplayer running standalone and Squeelite player on PC donā€™t have this behaviour.

Is this a known issue? I donā€™t see high CPU usage with my RPI4 while running this addon.

Having only recently setup Home Assistant on a Raspberry Pi3 from the hassos_rpi3-64-5.9.img.xz image, I was delighted to learn that I might also be able to use this unit as a squeezebox player for my extensive LMS system. I run piCoreplayer on multiple RasPi units without any issues but sadly Iā€™m running into many problems with this implentation on HA.

The RasPi3 has a FiiO USB DAC K1 and Iā€™m seeing problems very much like ā€œASNNetworksā€. Iā€™ve tried every permutation of input and output, with or without the Anodevā€™s Hass.IO Addons (not sure if appropriate or not). I get brief, random bursts of quality sound from the DAC then it stops. Analogue sound out directly from the Pi is more stable but not the quality I need. In all my other Pi/Squeeze implementations Iā€™ve never come across ā€œPulse Audioā€ so not sure where this fits in. Logs show that stable connections for audio out are not being made

I will continue to persevere, but Iā€™m running out of ideas right now and would welcome any insights or hints.

Chip