Raspberry Pi als Bluetooth- & AirPlay-Empfänger
Einer für alle: Wir zeigen Euch, wie Ihr mit dem Raspberry Pi einen Multi-Stream-Empfänger bastelt, mit dem Ihr Musik aus allen Quellen auf die Stereoanlage spielen könnt.
Wenn alte Stereoanlagen ans Netz sollen, gibt es verschiedene Möglichkeiten. So könnt Ihr einfach einen kleinen Airplay-Dongle kaufen, der sicherlich den Zweck erfüllt. Allerdings ist Bluetooth nicht immer die beste Lösung – und Apples AirPlay-Empfänger Airport Express wird auch nicht mehr hergestellt und kann auch kein DLNA. Wenn Ihr alles in einem Gerät haben wollt, liegt es deshalb nahe, wenn Ihr Euch einfach einen AirPlay-, DLNA- und Bluetooth-Empfänger selber bastelt. Mit dem Raspberry Pi ist das kein Problem.
Multi-Music-Receiver: Was Ihr braucht
Möglich wird der Bau eines Multi-Music-Empfängers mit DLNA, AirPlay, Spotify und Bluetooth mit Hilfe des Gratis-Tools Rpi Audio Receiver. Um ein entsprechendes Gerät zu basteln, braucht Ihr nicht viel:
- Einen Raspberry Pi mit WLAN und Bluetooth (Raspi 3 und höher)
- Eine Micro-SD-Speicherkarte mit mindestens 8, besser 16 Gigabyte Kapazität
- Ggf. ein Gehäuse für den Pi.
- Ein Micro-USB-Netzteil, das die nötige Leistung sicherstellt.
- Ein Audio-Klinkenkabel
Raspberry-Pi-Audio-Receiver für AirPlay, Bluetooth, DLNA und Spotify bauen
Wenn Ihr alle Teile beisammen habt, ist der Rest einfaches Raspberry-Pi-Gebastel ohne all zu komplexe Einrichtungsschritte. Dementsprechend kann es jetzt auch schon losgehen: Installiert zunächst den Raspberry Pi, aktiviert SSH und bindet Ihn ins WLAN ein. Wir haben hier eine Anleitung, wie das Basis-Setup mit wenigen Handgriffen zu bewerkstelligen ist. Danach kann es auch schon losgehen:
- Steckt die eingerichtete Speicherkarte in den Raspberry Pi und schließt ihn an, damit er startet. Nach der Grundeinrichtung wird er sich automatisch mit Eurem WLAN verbinden.
- Öffnet ein Terminal-Fenster (Mac/Linux/Windows 10) oder PuTTy (ältere Windows-Versionen) und gebt hier
ssh pi@raspberry
ein, um Euch per SSH zu verbinden. - Gebt als Passwort "raspberry" ein. Anschließend seid Ihr per SSH verbunden und könnt den Pi steuern.
- Danach müsst Ihr einmal
sudo apt-get update
, um die Paketlisten zu aktualisieren. - Nach dem Vorgang bringt Ihr das System mit
sudo apt-get upgrade -y
auf den neuesten Stand. - Jetzt könnt Ihr Euch an die eigentliche Installation des Multi-Audio-Receivers machen. Gebt dafür zunächst
sudo apt install -y --no-install-recommends git
ein, um Git zu installieren. - Gebt anschließend
git clone https://github.com/nicokaiser/rpi-audio-receiver.git
, dadurch wird das Multi-Receiver-Tool von Github auf den Pi kopiert. - Wechselt jetzt mit
cd rpi-audio-receiver
ins Verzeichnis der gerade geladenen Software... - ...und ruft mit
./install.sh
den Installer des Multi-Audio-Tools auf. - Der Installer fragt Euch zunächst nach dem Hostname, den Ihr setzen wollt. Der ist aktuell "raspberrypi", Ihr könnt diesen entweder mit der Eingabetaste beibehalten oder einen neuen Hostname, etwa "musicpi", setzen. Wichtig ist, dass Ihr Euch den neuen Namen merkt.
- Nun fragt Euch der Installer nach einem "Pretty hostname", das ist das, was zum Beispiel als AirPlay-Empfänger angezeigt wird. Behaltet "Raspberry Pi" mit der Eingabetaste bei oder setzt einen neuen "hübschen" Namen wie "MusicPi".
- Der Installer arbeitet jetzt eine Weile und installiert Software nach. Anschließend fragt er mit "Do you want to install Bluetooth Audio (BlueALSA)? [y/N]", ob Ihr das Bluetooth-Audiomodul installieren wollt. Bestätigt das mit "y" für "Yes".
- Als nächstes fragt Euch der Installer, ob Ihr AirPlay installieren wollt: "Do you want to install Shairport Sync AirPlay Audio Receiver (shairport-sync v3.3.5)? [y/N]". Bestätigt auch hier mit "y".
- Nach ein wenig Installationsarbeit folgt die nächste Frage: Wollt Ihr den Spotify-Connect-Dienst installieren? "Do you want to install Spotify Connect (spotifyd v0.2.5)? [y/N]" – schaden kann das nicht, gebt "y" ein, um die Installation zu bestätigen.
- Und noch eine Nachfrage: "Do you want to install UPnP renderer (gmrender-resurrect)? [y/N]" installiert den UPnP-Dienst, als DLNA-Unterstützung. Bestätigt auch hier mit "y".
- "Do you want to install Snapcast client (snapclient})? [y/N]" installiert noch den SnapCast-Dienst. Dabei handelt es sich um eine Open-Source-Version zu AirPlay und Co., was natürlich auch nicht schaden kann. Also "y" und Eingabetaste drücken und rein damit!
- "Do you want to install Startup sound? [y/N]" installiert einen Start-Ton. Kann sinnvoll sein oder auch nicht, wir würden ihn aber auf jeden Fall mitnehmen und gegebenenfalls später deaktivieren. Also "y" und Eingabetaste drücken.
- "Do you want to install ALSA VU meter plugin (pivumeter) [y/N]" setzt zusätzliche Audio-Funktionen ein. Auch hier ist ein "y" gefolgt von der Eingabetaste angebracht.
- Nun ist der Pi fertig. Mit
sudo reboot
startet Ihr ihn neu, um die Einstellungen und Dienste zu aktivieren. Achtung: Er ist jetzt per SSH nicht mehr unter "pi@raspberrypi", sondern unter "pi@(Euer-Hostname-aus-Schritt-10)" erreichbar.
Multi-Music-Receiver verwenden
Das war es auch schon: Ihr könnt den Raspberry Pi jetzt als Multi-Music-Receiver verwenden. Er wird als Bluetooth-Audio-Gerät und als AirPlay- und DLNA-Empfänger auf entsprechenden Geräten auftauchen. Ihr könnt Eure Musik jetzt ohne große Umstände über den Pi auf Eurer Stereoanlage abspielen – und zwar mit dem jeweils von Euch präferierten Standard.
Bei uns tauchte der Pi sowohl am Mac, als auch unter Windows und iOS als AirPlay-Empfänger und als Bluetooth-Gerät auf, die Verbindung war mit einem Handgriff hergestellt. Allerdings war die Lautstärke sehr niedrig. Um das zu ändern, haben wir uns mit SSH auf den Pi eingeloggt und alsamixer
gestartet. Hier lässt sich die Ausgabelautstärke dann anpassen.
Bessere Audioqualität mit Raspberry-Pi-DAC
Natürlich liefert der Pi mit der eingebauten Klinke nicht die optimale Tonqualität. Wer mehr möchte, etwa weil der Musik-Pi eine hochwertige Anlage bespielen soll, sollte zu einem zusätzlichen DAC für den Raspberry Pi greifen. Dabei handelt es sich um Aufsteckplatinen, mit denen Ihr die Tonqualität signifikant steigern könnt.
Der Multi-Music-Receiver unterstützt entsprechende Platinen, allerdings gilt der HifiBerry als der am besten unterstützte Audio-Adapter für den Pi. Der kann für kleines Geld bei Amazon erworben werden. Wir haben das Setup nicht mit dem HifiBerry durchgespielt: Möglicherweise sind zusätzliche Einstellungsschritte nötig. Praktisch ist allerdings, dass der Multi-Audio-Receiver anschließend brav seinen Dienst verrichtet.
Danke erstmal für die Anleitung.
Allerdings scheint unter Bullseye nicht laufen. Das install gibt die Meldung: Unsupported OS: Raspberry Pi OS 12 (bookworm) is required
Gibt es da eine Abhilfe?
So ganz check ichs nicht. Bis zur Installation läuft alles sauber durch. Aber dann behauptet er, OS12 (bookworm) sei erforderlich. Leider auch, wenn man man schon das 12er nutzt. Dabei ist es egal, ob das volle oder die abgespeckte Version genutzt wird. Tritt das noch bei jemandem auf?
Ja habe das selbe Problem, Bookworm ist installiert, aber es kommt die Meldung „unsuportet OS….“ Ich habe es mit allen aktuellen Updates versucht und mit der Version vom 5.12.2023. Fall jemand das Script anpassen kann wäre das super.
Hallo Christian, herzlichen Dank für die Anleitung. Das klappte bei mir sofort (Raspberry 3B; Bullseye Pi OS ohne Grafik). Airplay und die anderen Vorschläge hatte ich alle abgelehnt, da ich dies nicht brauche. Das funktioniert bei mir auch bei laufendem Kodi und externe USB-Soundkarte (Stick). Der Raspberry hängt bei mir darüber an meiner 70er Jahre Stereoanlage und ich blauzahne dann Spotify vom Androiden daran. Perfekt.
Hallo, Vielen Danki für die Sehr gute Anleitung! Es funktioniert sehr gut. Zwei Fragen habe ich noch: 1. Wie kann ich die vergebenen Hostnamen ändern? 2. Wie kann man das ganze Deinstallieren?
Viele Grüße
Hallo Christian,
wäre es möglich bzw. wie ist es möglich, dass ich über Bluetooth Spotify abspiele und durch drücken eines Tasters ein bestimmtes Lied abspiele und nach diesem Lied wieder ganz normal Spotify weiterläuft?
Vielen Dank im Voraus :-)
LG benG
Hey Christian,
tolle Anleitung. Leider hab ich es nur so leidlich zum Laufen bekommen. Für mich war die Lösung aller meinr Probleme HiFiBerry-OS. Bringt alles genannte mit und noch mehr. Ergibt natürlich nur Sinn, wenn mit HiFiBerry-DAC.
Trotzdem, durch deinen Artikel bin ich überhaupt auf die Idee gekommen
Hallo Mirko, könntest Du bitte eine Anleitung schreiben, wie Du das gemacht hast? Ich suche schon lange nach einer Möglichkeit, meinen Handysound per Bluetooth an den Raspberry 4 zu streamen, welcher diesen dann an mein Sonos-System weitergibt.
Hey Raimar,
das geht ganz fix ;-) https://www.hifiberry.com/hifiberryos
hat bei mir 30 Minuten vom Download bis zum ersten Ton gedauert. Da gibt’s ne schöne Anleitung.
Viel Spaß damit.
Mirko
Ich benutze die Bluetooth-Lösung von der Script-Sammlung seit über einem Jahr und es lief auf X Installationen problemlos.
Leider nicht mehr mit der neuesten Raspberry Pi OS Version: Release date: May 7th 2021 Kernel version: 5.10
Ich setze mit dem Image das System komplett neu auf und installiere mit: wget -q https://github.com/nicokaiser/rpi-audio-receiver/archive/main.zip etc.
das Script und beim Einsatz von „bluetoothctl“, um z.B. discoverable on/off zu setzen, hängt bluetoothctl.
Hat das hier noch jemand?
Der Fehler tritt auch beim Wechsel (z.B. durch sudo apt upgrade) von pi-bluetooth 0.1.15 auf 0.1.17 auf.
So kann ich den Raspi nicht mehr als BT-Empfänger nutzen, was mich sehr ärgert.
Ja, das habe ich auch. Noch nicht herausgefunden woran das liegt…
Ich habe im install-bluetooth.sh Script folgendes auskommentiert:
Make Bluetooth discoverable after initialisation
mkdir -p /etc/systemd/system/bthelper@.service.d
cat <<‚EOF‘ > /etc/systemd/system/bthelper@.service.d/override.conf
[Service]
ExecStartPost=/usr/bin/bluetoothctl discoverable off
ExecStartPost=/bin/hciconfig %I piscan
ExecStartPost=/bin/hciconfig %I sspmode 1
EOF
Jetzt hängt „bluetoothctl“ nicht mehr und der Raspi kann wieder als BT-Receiver dienen.
Also:
sudo rm /etc/systemd/system/bthelper@.service.d/override.conf
und ein Reboot und dann hängt bluetoothctl nicht mehr
Hier ist es auch noch mal besprochen:
https://github.com/nicokaiser/rpi-audio-receiver/issues/108