Streaming audio from a Pi to a Bluetooth speaker, with Spotify Connect
Very raw notes on getting a Pi to appear as a Spotify Connect speaker, and stream to a bluetooth speaker. Might not work for your set-up, sorry.
Flash the operating system
- I used Raspberry Pi OS Lite Buster (not the latest, Bullseye).
- Enabled ssh
- Connected to my wifi network
Update the OS packages
sudo apt update && sudo apt upgrade -y && sudo reboot
Auto-connect Bluetooth audio
sudo apt-get install git -y git clone https://github.com/bablokb/pi-btaudio cd pi-btaudio sudo tools/install
$ sudo bluetoothctl # scan on [NEW] Device 00:02:3C:6B:63:48 Creative MUVO 2c # pair 00:02:3C:6B:63:48 [CHG] Device 00:02:3C:6B:63:48 Paired: yes Pairing successful # trust 00:02:3C:6B:63:48 [CHG] Device 00:02:3C:6B:63:48 Trusted: yes Changing 00:02:3C:6B:63:48 trust succeeded [CHG] Device 00:02:3C:6B:63:48 ServicesResolved: no [CHG] Device 00:02:3C:6B:63:48 Connected: no # connect 00:02:3C:6B:63:48 Attempting to connect to 00:02:3C:6B:63:48 [CHG] Device 00:02:3C:6B:63:48 Connected: yes # quit
sudo nano /etc/asound.conf ## Add MAC address above to line: defaults.bluealsa.device "00:02:3C:6B:63:48"
aplay -vv /usr/share/sounds/alsa/Front_Center.wav
Should play sound out of the speaker 🔊.
Spotify Connect target
curl -sL https://dtcooper.github.io/raspotify/install.sh | sh
Fix for crashing issue (should be fixed in raspotify 0.31.2)
Connecting to the speaker in Spotify would crash and not work because of this config problem. This is going to be fixed very soon and the next part won't be needed.
sudo systemctl edit --full raspotify
RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 AF_NETLINK
Save the file and run:
sudo systemctl daemon-reload && sudo systemctl restart raspotify
The speaker should now appear in the Spotify app. You should be able to play music to it. Turning the speaker off/on should automatically pair it with the Pi.
Massive shout-out to this blog post, which has a lot of info about bluetooth on the Raspberry Pi.