Stabiles Multiroomsystem mit Raspberry Pi

Im April 2017 habe ich meine Multiroomlösung mit AudioCast vorgestellt, die auf relativ preiswerten Multiroomempfängern basierte. Damals war ich recht zufrieden mit dem System, mich nervte nur, dass einer der Empfänger immer mal wieder ausstieg und ein anderer beim Starten von neuen Titeln permanent piepte. Auch die Bedienung der Musik über die Smartphoneapp war alles andere als angenehm, zumal die App in der letzten Zeit immer langsamer wurde und bei nahezu jedem Start die Musiksammlung auf dem NAS neu einlesen wollte. Bei knapp 20.000 Titeln übers WLAN keine schnelle Lösung.

Im Hifi-Forum las ich, dass die preiswerten Raspberry-Pi-Rechner als Audioausgabegeräte zu einem Multiroomsystem zusammengeschlossen werden können. Das interessierte mich, da ich schon immer mal einen Rasperry-Pi ausprobieren wollte und nur auf einen Anwendungsfall gewartet habe. Das Ende vom Lied ist nun, dass nun seit 3 Monaten vier Raspberries für die Musik in allen Räumen sorgen. Und die Bedienung ist erste Sahne!

Wie funktionierts

Ganz grob gesagt funktioniert das Multiroomsystem so, dass es einen Server gibt, der die Musik verwaltet und sie synchronisiert an die einzelnen Abspielgeräte schickt. Als Server wird der kostenlose Logitech Media Server verwendet, der nicht nur (wie der Name vermuten lässt) für Logitechgeräte ist, sondern sich auf dem Raspberry oder anderen Rechnern installieren lässt. Als Player fungieren die einzelnen Raspberries, die an Aktivlautsprecher oder die Stereoanlange angeschlossen werden. Auch die Ausgabe per Bluetooth an entsprechende Lautsprecher oder Kopfhörer ist möglich. Der Logitech Media Server (kurz LMS) übernimmt also „nur“ die Ausgabe der Musik an die einzelnen Player und deren Synchronisierung.

Welches Betriebssystem für die Raspberries?

Der LMS und die entsprechende Playersoftware Squeezelite laufen unter Linux. Nun gibt es für den Raspberry eine Vielzahl an verschiedenen Distributionen. Ich verwende max2play, da hier der LMS und Squeezelite vorinstalliert sind. Max2play ist grundsätzlich kostenlos und kann über Plugins erweitert werden. Prinzipiell lässt sich die Pluginfunktionalität auch von Hand reinprogrammieren, wer keine Lust auf Kommandozeile hat, kauft sich die Premiumplugins für kleines Geld (15 € für 5 Jahre) dazu. Eine kostenlose Alternative ist PiCorePlayer, der auch den Server und den Player dabei hat und sich wohl ähnlich komfortabel konfigurieren lässt. Weil ich aber nun schon einmal max2play installiert hatte, habe ich den PiCorePlayer gar nicht erst ausprobiert.

Raspberry Pi als Audioplayer

Raspberry Zero W (oben)
Raspberry Pi 3 mit DAC+ und Metallgehäuse (unten)

Ich nutze pro Raum einen Raspberry Pi, auf dem Squeezelite läuft. In allen Räumen, in denen ich HiFi-Sound möchte, nutze ich den normalen Raspberry Pi 3, den ich um einen sogenannten DAC (= Digital Audio Converter) erweitert habe. Der soll den Klang erheblich verbessern, weil der interne Audioausgang des Raspi bisweilen rauscht. In Räumen, in denen Hifi-Sound nicht so wichtig ist (wie im Bad oder Küche) reicht mir jeweils ein Raspberry Zero Pi W, der eine verkleinerte Form des Raspberries darstellt. Weil der keinen extra Audioausgang hat, greife ich den Ton über einen Mini-HDMI-zu-VGA-Adapter ab. Dieser hat zusätzlich einen 3,5-mm-Klinkenanschluss, der in der jeweiligen Aktivbox endet. Ein Rauschen wie beim Audioausgang des großen Raspberry habe ich hier noch nicht festgestellt. Außerdem muss dort nach ein passender HDMI auf Mini-HDMI-Adapter dran, weil der Zero-W nur einen Mini-HDMI-Ausgang hat.

Der Raspberry im Wohnzimmer, der über den DAC die Stereoanlage befeuert, dient gleichzeitig auch als Medienserver. Er verwaltet die lokale Musik, auf einer angeschlossenen Festplatte, einem USB-Stick, der Speicherkarte oder einem NAS liegen kann. Dieser Raspberry ist außerdem auch der Hauptaudioplayer, von dem ausgehend ich die Musikauswahl treffe. Der Server selbst sorgt dann für die Verteilung an die anderen Player.

Als Gehäuse habe ich bei diesem auf das stabile Stahlgehäuse gesetzt. Im Nachhinein nicht die beste Wahl, da das Metallgehäuse die Funkwellen der eingebauten WiFi-Antenne abschirmt. Da der Wohnzimmer-Raspi aber am Netzwerkkabel hängt, geht das in Ordnung. Für einen anderen HiFi-Raspi, den ich per WLAN verbinden wollte, musste ich auf das Plastikgehäuse zurückgreifen.

Raspberry Pi 3 als als SqueezeLite-Player mit Hifi-Sound
Artikel Preis
Raspberry Pi 3 B+ 40 €
Hifiberry DAC+ 33 €
Hifiberry Plastikgehäuse 20 €
Micro-SD-Karte 16 GB 5 €
Netzteil 10 €
Gesamt 108 €
Raspberry Zero W mit HDMI-auf-VGA- und HDMI-auf-Mini-HDMI-Adapter für die Audioausgabe

Um die Zero-Raspies einzurichten, habe ich deren Speicherkarten mit dem frischen max2play zunächst in den kabelgebundenen Raspberry gesteckt und sie entsprechend konfiguriert. Also WLAN eingerichtet, den Autostart dazu aktiviert, den jeweiligen Player installiert und das Gerät entsprechend seines künftigen Standortes benannt. Dann den Raspberry heruntergefahren und die Karte in das Zielgerät gesteckt. Nach Anschluss ans Netzteil lief der Zero-Raspi dann problemlos.

Bei Raspberries, die als reine Player laufen, habe ich zudem den Schreibschutz der SD-Karte (Premiumplugin) aktiviert. Dadurch wird verhindert, dass die Speicherkarten ihren Inhalt verlieren, falls die Raspberries vom Strom genommen werden. Normalerweise müssten sie nämlich (wie jeder andere Rechner auch) heruntergefahren werden.

Raspberry Pi Zero W als SqueezeLite-Player ohne Hifi-Ambitionen
Artikel Preis
Raspberry Pi Zero W mit Gehäuse 29 €
HDMI-auf-VGA-mit-Audioausgang-Adapter 9 €
HDMI-auf-Mini-HDMI-Adapter 12 €
Micro-SD-Karte 16 GB 5 €
Netzteil 10 €
Gesamt 65 €

Als Netzteil verwende ich an allen Raspberries das Originalnetzteil, das zuverlässig die benötigte Spannung und den Strom liefert. Es gab nämlich ganz selten mal Aussetzer, die ich auf die USB-Auflader geschoben habe.

Androidgerät als Player

SqueezePlayer für Android

Statt einem Raspberry als Player zu nutzen, kann auch ein altes Handy oder Tablet hergenommen werden. Die Androidapp „SqueezePlayer“ wandelt das jeweilige Gerät in einen Player um. Die Audioausgabe selbst funktioniert damit auch recht problemlos, allerdings wird die Musik über verschiedene Räume hinweg nicht wirklich synchron wiedergegeben. Das liegt wohl an den Androidgeräten, deren Hardware das nicht hergibt. Bei mir hatte das gesamte System immer ein paar Millisekunden Verzögerung, die ich auch nicht über die entsprechenden Einstellungsmöglichkeiten am Server ausgleichen konnte. Mit den Raspberries kein Problem, hier läuft die Musik immer gleichzeitig ohne Halleffekt.

Windows-PC als Player

Weil ich natürlich auch Musik hören möchte, wenn ich im Büro am Rechner sitze, nutze ich das Programm SqueezePlay. Das simuliert die Oberfläche der nicht mehr erhältlichen Logitech Squeezebox Touch in einem kleinen Programmfenster. Damit sehe ich nicht nur, was gerade läuft, sondern kann den Musikserver auch komplett steuern. SqueezePlay bindet sich in das System als eigener Player ein, der mit den anderen — schon vorhandenen — synchronisiert wird.

Eine andere Möglichkeit ist Squeezelite-X für Windows-10-PCs. Das nutzt keine eigene Oberfläche, wie Squeezeplay, sondern den im LMS eingestellten Skin. Standardmäßig ist das der alte „Default“-Style, bei neueren LMS kann auch der Materialskin eingestellt werden. Im Gegensatz zu Squeezeplay benutzt Squeezelite-X auch die Mediatasten, die auf manchen Tastaturen vorhanden sind. Damit kann dann ganz einfach zum nächsten Lied vorgesprungen werden, was ich in der Tat häufiger nutze.

 

Logitech Media Server im Praxiseinsatz

Jetzt zum Herzstück des Systems. Die mehr als fünfzehnjährige Entwicklungszeit merkt man dem Server an allen Ecken an. Einerseits wirkt die Weboberfläche etwas altbacken, aber sie ist fast überall sehr durchdacht.

Weboberfläche des Logitech Media Servers

Der LMS lässt sich auch durch Plugins erweitern. So gibt es beispielsweise mit „Spotty“ eine Erweiterung, um Spotify in den Server zu integrieren und Lieder darüber abzuspielen. Die Navigationsmöglichkeiten dazu tauchen nicht nur in der Weboberfläche auf, sondern sind auch automatisch auf allen angeschlossenen Hardwaregeräten, dem Windowsprogramm oder den Steuerungsapps für Android und iOS zu finden.

Die meiste Zeit des Tages läuft das System bei mir und spielt zufällig alle Titel ab, die es seit Einrichtung noch nicht gespielt hat. Das beginnt früh morgens als Wecker und läuft dann den ganzen Tag. Nur Montags morgens läuft der Mix der Woche von Spotify. Wenn ich beim Hören ein schönes Lied höre, kann ich jedezeit zum entsprechenden Album in der Musiksammlung oder in Spotify springen, um es gleich oder im Anschluss an die aktuelle Playlist zu hören. Eben weil es auch mit Spotify funktioniert, ist das eine meiner Lieblingsfunktionen. Da ich die meiste Zeit des Tages im Büro bin, steuere ich die Wiedergabe entweder über SqueezePlay für Windows oder die Weboberfläche.

Halte ich mich in anderen Räumen auf, steuere ich den Server über die passende Android- oder iOS-App. Unter Android nutze ich Squeezer bzw. OrangeSqueeze. Beide haben in etwa den gleichen Funktionsumfang und können auch den SqueezePlayer für Android starten. Einziger Unterschied zwischen beiden Apps ist, dass OrangeSqueeze ein Widget mitbringt und nicht kostenlos ist. Für iOS gibts iPeng, was dort wohl der Standard ist. Auch das ist nicht kostenlos, sondern mit rund zehn Euro verhältnismäßig teuer. Wer die Musik auf auf seinem iOS-Gerät abspielen will, muss nochmals in die Tasche greifen.

Anfangs dachte ich noch, ich bräuchte irgendwo ein Display, jederzeit im Blick zu haben, welches Lied gerade läuft. Ich habe dann festgestellt, dass ich dann entweder fix auf eine der auf den Tablets installierte App schaue oder später über das Plugin „Was lief da eben?“ (siehe unten) nachschaue. Meistens aber erkenne ich, was grad läuft oder es ist mir egal. 😉

Plugins, die ich hilfreich finde

  • TrackStat und TrackStat Playlist – Sammelt Informationen der einzelnen Tracks in der Musiksammlung und erlaubt dann beispielsweise das Abspielen alle nie gehörten Titel, aller meist gehörten oder aller meistgeskippten. Ich nutze derzeit überwiegend die „nie gespielten Songs“ in Zufallswiedergabe, um mich durch meine Musiksammlung zu hören
  • Spotty – Bindet Spotify (in der Premiumversion) in den Musikserver ein. Dadurch lassen sich alle Lieder aus Spotiy auch über die Oberfläche des Servers (ob Weboberfläche oder die Apps) auswählen. Wer mag, kann auch einen der Rasperries als ein Spotify-Abspielpunkt einfügen. Damit ist es dann möglich, die Spotifyapp zur Musikauswahl zu nutzen und die Musik über den eingebundenen Raspberry ans gesamte Multiroomsystem zu senden
  • Podcasts – Um Podcasts überall zu hören
  • Band´s Campout – Bindet die Musikbibliothek von Bandcamp ein. Nach Eingabe des eigenen Usernamens können auch die eigenen Käufe oder die Wunschliste angehört werden.
  • Zufallsmix – Gibt zufällige Titel, Alben, Interpreten oder Jahrgänge wieder
  • Was lief da eben? – Zeigt die zuletzt gespielten Songs einzelner oder aller Player an. Funktioniert auch in Verbindung mit Webradio oder Spotify.
  • Musiksammlung erneut durchsuchen – Durchsucht die Musikbibliothek auf dem NAS jede Nacht erneut, um neue Lieder hinzuzufügen

Fazit

Bisher dachte ich immer, meine Wohnung ist zu verwinkelt, weil die Audiocastgeräte immer mal ausgesetzt hatten. Offenbar aber hatten sie einfach nur wenig Empfangsleistung. Da sind die Raspberries besser, sie setzen nicht aus und spielen ihren Musikstream immer einwandfrei (auch FLAC) ab.

Die Software lässt für mich fast keine Wünsche übrig und wenn man das Bedienkonzept einmal verstanden hat, ist die Bedienung kinderleicht. Der Logitech Media Server läuft auf dem Raspberry zufriedenstellend. Der kleine Rechner ist von der Leistung in der Regel ausreichend, nur bei der Verwendung der Tabletapps ist mir aufgefallen, dass er auf Anfragen etwas verzögert reagiert hat. Deshalb läuft der LMS jetzt auf meiner Synology DS 218+, der ich zusätzliche 8 GB Arbeitsspeicher spendiert habe. Mit diesen 10 GB flitzt nun auch der LMS und antwortet verzögerungsfrei auch bei langen Playlisten oder großen Albencovern.

Mit 350 € insgesamt für vier Raspberries und die Apps ist das LMS-Raspberrysystem teurer als das vorher genutzte Audiocastsystem. Dabei aber wesentlich stabiler und besser nutzbar. Im Vergleich zu vorher höre ich seitdem erheblich mehr Musik. Ich bin gerade dabei, meine Musiksammlung neu zu entdecken, durch die Anbindung an Spotify, Webradio oder Podcasts bleibt mir aber auch diese Welt nicht verschlossen. Ich glaube, ich bin jetzt im Musikhörerhimmel angekommen. 🙂

Update vom 16.02.22:

Der LMS läuft immer noch bei mir, mittlerweile aber nicht mehr auf dem Synology-NAS, sondern unter Windows 10 auf einem kleinen Lenovo Thinkcentre mit i5-Prozessor, 32 GB RAM und SSD. Die Raspberries dienen nach wie vor als Audioplayer, die die Musik in den verschiedenen Räumen verteilen. Ich bin immer noch sehr zufrieden mit dem System.

Weitere Artikel zum Logitech Media Server

23 Gedanken zu „Stabiles Multiroomsystem mit Raspberry Pi“

  1. Hallo Michael,
    Braucht man einen Premium Account wenn man Spotify über Spotty einbinden will?
    Lg,
    Vera

  2. Hallo Michael,
    ich bin ein Neuling auf diesem Gebiet. Wollte aber gerne das Raspberry System nutzen bzw. ausprobieren.

    Meine Frage ist nun, kann ich über dieses Soundsystem auch ein Soundeingang über Chinchilla Anschlüsse von meinem Fernseher nutzen um so auf allen angeschlossenen Wiki Lautsprecher den Fernsehton wieder zugeben. Was brauche ich dafür ? Und wie ist Deine Empfehlung.

    Gruß
    Michael aus Mönchengladbach

    1. Fehler aufgrund der Autokorrektur
      Ich möchte natürlich keine Chinchillas anschließen (wäre wohl ein Verbot gegen den Tierschutz) sondern ein Chinch-Kabel

    2. Hmm, dazu brauchst du eine Möglichkeit, die Musik per Cinch-Buchsen in den Raspberry zu bekommen. Ich habe bisher noch keine Aufsteckkarte gefunden, die beides kann, also Ein- und Ausgänge hat. Ich habe auf die Schnelle jetzt nur die I/O-Karte von Hifiberry (https://www.hifiberry.com/shop/boards/hifiberry-digi-io/) gefunden, weiß aber nicht, ob sie von Max2play unterstützt wird und ob die Weitergabe via LMS überhaupt geht. Theoretisch ja, da es ein Input-Plugin für den LMS gibt.

      1. Die App macht nichts anderes als OS. Aber ich finde die Anordnung der Funktionen und die Optik der App gelungener. Auf eine Bildschirmseite passt mehr Inhalt, Kontextmenus (wie das des Players, der Wiedergabeliste oder des aktuellen Titels) sind schneller erreicht. Damals hatte ich mich nach Squeezer und OS für die dritte entschieden. Ich glaub es gab damals auch einen rein funktionalen Grund dafür, aber bei schnellen durchklicken heute konnte ich nicht erkennen was das gewesen sein könnte.

  3. Hallo Michael, danke für den tollen Artikel.
    Als Musikquelle würde ich gern ein Smartphone verwenden und Audio per BT an den RasPi übertragen. Hast du das schon einmal probiert oder damit Erfahrung?
    Gruß
    Maik

    1. Für Bluetooth ist mir keine Lösung bekannt (was nicht heißt, dass es keine gibt). Der LMS kann aber auch per Chromcast, UPNP oder Airplay bespielt werden, nachdem die entsprechenden Plugins installiert wurden.

      1. Hallo Maik,
        für max2play gibt es ein Bluetooth Plugin mit dem es möglich ist Musik von einem Smartphone oder Tablet zum LMS zu streamen.

      2. Hallo Zusammen,
        sehr schöner Artikel. Ich hab selbst mittlerweile 4 Geräte im Einsatz.

        Das letzte Projekt ist eine Raspberry Pi 3 mit einem 7″ Display. Mit dem Einschalten läuft „start-gui“ nach dem Autologon als user PI, welches dann die JiveLite Oberfläche startet.
        Soweit kann ich dann wie sicherlich allen bekannt auf die Geräte zugreifen.
        Mit https://github.com/oweitman/squeezelite-bluetooth, kann man dann ein Bluetooth Lautsprecher an das Gerät anbinden. Da läuft ein Daemon der erkennt, wenn das Bluetooth Gerät eingeschaltet wird. Es erscheint dann ein neuer „Player“ der dann bedient werden kann.

        Viele Spass dabei
        Ralf
        http://www.berhorst.net/raspberrry-pi.html

  4. Hei. Ich bin auch neu im Thema Multiroom-Audio, bin aber auf den Geschmack gekommen, als ich bei nem kumpel das typische "Alexa, spiel Musik!" ausprobiert habe. Michael, hast du Erfahrungen damit dem Raspberry auch eine Sprachsteuerung (dann eben nur im Raum wo der Server steht) zu spendieren.

    Bzw. wie ist das, wenn mehrere Menschen auf das System zugreifen wollen und so meine Freundin sich im Büro andere Musik will als ich im Bad? mhhh.

  5. Hallo zusammen,
    bin zufällig hier gelandet.
    Ich betreibe seit längerem ein MR-System mit RasPi`s (insgesamt 12 Player.)
    Läuft, wie schon erwähnt hier, extrem Stabil und vor allem SYNCHRON !!
    Seit einer weile brüte ich eine Idee aus, alle PI`s in ein eigenes Netzwerk zu verfrachten, d.h. zweite Fritzbox, dann Routerkaskade, also die eine Fritz hinter die andere, somit sind die Pi`s von außen nicht angreifbar und vor allem tauchen sie nicht in meinem Netzwerk auf.
    Hat jemand eurerseits eine Idee wie ich das Umsetzen könnte? Wäre bestimmt ein Interessantes Projekt.
    MfG Peter

    1. Hi Peter,
      Sicherheit ist ein Aspekt, den ich in meinem Smarthome auch nicht außen vor lassen möchte. Allerdings würde ich Deinen Ansatz pragmatisch mit dem Gast-W-Lan machen. Das erspart mir die 2. Fritzbox bzw. zuviel Routen.
      Wenn es gewerblich ist, würde ich vielleicht eine 2. Fritzbox an einem LAN Port der 1. Fritzbox anschließen und diesen LAN Port als Gast-LAN definieren. Damit hast Du auch eine „Aufteilung“.
      Viele Grüße
      Ralf

  6. Hi,

    kleine Frage zum Verständnis – n pis lassen synchron die Musik im gesamten Bereich erklingen. Aber geht es auch, dass ich paar mit dieser und paar mit jener Musik „bespeisen“ kann – über eine App und einen zentralen Steuerserver?

    Welche Boxen benutzt man hierfür am besten?

    1. … lassen synchron die Musik im gesamten Bereich erklingen.

      Ganz genau

      Aber geht es auch, dass ich paar mit dieser und paar mit jener Musik „bespeisen“ kann – über eine App und einen zentralen Steuerserver?

      Das geht selbstverständlich auch

      Welche Boxen benutzt man hierfür am besten?

      Ich habe in Küche und Schlafzimmer Aktivboxen stehen, die nicht mehr als 120 € pro Paar gekostet haben. Thomann hat eine schöne Auswahl. Im Wohnzimmer habe ich den Raspberry an meinen Verstärker angeschlossen, an dem Passivboxen hängen. Und im Büro höre ich auch wieder über Aktivboxen – diesmal welche von Nubert.

  7. Hallo Michael,
    erstmal ganz vielen Dank für Deine tollen Beiträge!
    Ich hatte ebenfalls bereits ein System auf ChromeCast-Audio Basis am laufen, habe mich aber immer wieder über Ausfälle und ungenügende Synchronisation geärgert. Deshalb will ich nun auch auf ein RasPi basiertes System umsteigen.
    Hierzu folgende Frage: Meinst Du, der LMS würde auf einem P4 mit 8 GB RAM und einer großen SD-Karte als Musikspeicher schnell genug laufen? Ich hasse nämlich ebenfalls Verzögerungen, will aber nicht unbedingt noch ein NAS anschaffen müssen…

  8. Hallo Michael,

    ich habe mir jetzt ein Rasp Zero Pi W v1 fit gemacht. Alles hat perfekt geklappt Squezzer lite läuft, kann auf den LMS zugreifen alles perfekt, Danke!

    Aber jetzt zu meinem Problem mit Audio kenne ich mich gar nicht aus. Habe mir auch einen HDMI-auf-VGA-mit-Audioausgang-Adapter angeschlossen. Mit Kopfhörern kann ich Sound hören, wenn ich irgend ein Gerät (Box) mit Line-In anschließe ist nichts zu hören. Was mache ich falsch, was für eine Box hast du an deine Zero’s per Klinke Stecker angeschlossen?

    (Habe mehrere Klinke-Klinke Kabel ausprobiert)

    LG
    Toby

    1. So, habe das Problem gefunden. Es lag an dem HDMI-Klinke Adapter.
      Also dann einfach nochmal vielen Dank für deinen Blog, toll auch, dass du nochmal ein Update gemacht hast, dass alles noch aktuell ist.

      Vielleicht noch Interessant:
      Ich habe einen Raspberry Zero W pi V1 benutzt, als Distro inkl. Squezzer lite & Statistik Dashboard habe ich Dietpi benutzt.
      Als Box benutze ich den ​Anker Soundcore mini, per Klinke und Dauerhaft per USB am Strom.

      LG
      Tob

      1. Danke für deine Rückmeldung, dass du den Fehler gefunden hast.
        Deine Konfiguration wird sicher auch andere Leser interessieren, danke auch dafür. 🙂

Kommentare sind geschlossen.