Synology: Aktuelleren LMS installieren

Letzte Woche schrieb ich, dass ich den Logitech Media Sever auf meiner DS 218+ von  Synology betreibe. Dort läuft er erheblich schneller, als auf einem Raspberry Pi, sodass Suchanfragen oder der Aufbau der Albencover sofort und nicht erst nach einer Wartezeit umgesetzt werden. Ich bin kein Freund von Verzögerungen.

Der zweite Grund ist, dass der Raspberry Pi im Falle eine Stromausfalls gelegentlich auch die Speicherkarte beschädigen kann, falls in diesem Moment gerade ein Schreibzugriff stattfindet. Außerdem sollen die Speicherkarten generell hin- und wieder ausfallen. Also laufen meine Raspberries mit einem Schreibschutz, der die benötigten Daten beim Booten in den Arbeitsspeicher lädt und danach die Speicherkarte in Ruhe lässt. Bei Da ich Max2Play einsetze, nutze ich das Plugin „SD-Kartenschutz„.

Aber zurück zum Logitech Media Server. Der lässt sich ja ganz bequem über das Paketzentrum auf dem NAS installieren. Leider gibts dort immer nur ältere Versionen. Derzeit (07.01.18) beispielsweise die Version 7.7.6-116. Aktuell hingegen ist die 7.9.2. Bis zu dieser Version wurde unter anderem auch das Startverhalten von Podcasts geändert, sodass sie nun schneller starten.

Glücklicherweise gibt es nette Leute, in diesem Fall der User „pinkdot“ aus dem Slimdevices-Forum, der die aktuelle Version auch für Synology-NAS-Geräte zusammengepackt hat.

Um auf die vorhandene Version auf die neue zu aktualisieren, reicht es aus, das passende Paket herunterzuladen (der Link oben bietet bereits eine Auswahl nach Geräten). Danach das Paket-Zentrum auf der Diskstation starten und rechts oben auf „Manuelle Installation“ klicken. Das Paket auswählen und einen Moment warten, bis das Paket installiert wurde. Es ersetzt die ältere Version und startet den Server danach neu.

Die Versionsnummer lässt sich vor und nach dem Update in den Einstellungen des Servers über die Seite „Informationen“ anzeigen:

Logitech Media Server 7.9.2 auf Synology DS 218+
Logitech Media Server 7.9.2 auf Synology DS 218+

Alternativ ist die installierte Version auch im Paketzentrum ablesbar, aber dort steht neben der installierten (links) auch die falsche „neueste Version“ (rechts):

Abweichende Angaben zur Versionsnummer im Paketzentrum
Abweichende Angaben zur Versionsnummer im Paketzentrum

Materialskin für den Logitech Media Server

Seit etwas mehr als einem Jahr begleitet mich mein Raspberry-Multiroomsystem nun zuverlässig. Der Server selbst läuft zwar seit einiger Zeit auf meinen Synology-NAS (DS 218+), das ich auf 10 GB Arbeitsspeicher aufgerüstet habe. Der LMS (Logitech Media Server) arbeitet auf dem NAS erheblich schneller als auf dem Raspberry Pi, was ich besonders beim Blättern in der Coverdarstellung merke. Die Gedenksekunden, die sich der Raspberry zur Anzeige der Cover nimmt, fehlen auf der DS 218+ völlig. Meine vier Raspberries nutze ich also nur noch als reine Audioplayer.

Für die Steuerung des Servers nutze ich nach am PC wie vor die Weboberfläche für die nun jemand eine neue Oberfläche programmiert hat. Dieser Material genannte Skin ändert das Aussehen der Weboberfläche so, dass sie wie eine Androidapp ausschaut und sich auch so bedienen lässt. Es ist damit also auch keine gesonderte App mehr nötig, da die Oberfläche nun auch auf Smartphones und Tablets sehr bequem über den Browser bedient werden kann.

Der Skin wird als Plugin installiert und das geht ganz einfach. Zunächst müssen die Einstellungen des LMS aufgerufen werden. Im Tab „Plugins“ muss dann ganz unten bei „Zusätzliche Repositories“ die Paketquelle für das Plugin eingefügt werden:

Paketquelle hinzufügen

Die URL dazu lautet:

https://raw.githubusercontent.com/CDrummond/lms-material/master/public.xml

Nach dem Bestätigen der Eingabe mit „Übernehmen“ taucht in der Liste der Plugins nun der Skin auf, der nur noch aktiviert werden muss. Nach einem Neustart des Servers steht er nun unter der URL

http://<yourserver>:9000/material/

zur Verfügung. Die ganze Vorgehensweise ist auch nochmal auf der Githubseite des Entwicklers beschrieben.

Ich nutze den Materialskin nun schon ein paar Wochen. Er wird aktiv weiterentwickelt, mit dem neuen Update, das ich heute morgen installiert habe, kam die Unterstützung der Dynamic Playlists und des Trackstatplugins hinzu. Im LMS-Forum gibts auch einen Strang zu diesem Skin, in dem auch Wünsche geäußert werden können.

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.

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.

Artikel Preis
Raspberry Pi 3 B+ 36 €
Hifiberry DAC+ 33 €
Hifiberry Plastikgehäuse 33 €
Micro-SD-Karte 8 GB 6 €
Netzteil 13 €
Gesamt 110 €
Raspberry Pi 3 als als SqueezeLite-Player mit Hifi-Sound
Raspberry Zero W mit Audioadapter

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 nämlich (wie jeder andere Rechner auch) heruntergefahren werden.

Artikel Preis
Raspberry Pi Zero W mit Gehäuse 25 €
Adapter Mini-HDMI auf VGA mit Audioausgang 9 €
Micro-SD-Karte 8 GB 6 €
Netzteil 13 €
Gesamt 53 €
Raspberry Pi Zero W als SqueezeLite-Player ohne Hifi-Ambitionen

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 als Player

Squeezeplay unter Windows 10

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.

Squeezelite-X mit Materialskin

Update vom 18.01.18: Kurz nachdem ich diesen Artikel geschrieben hatte, bin ich auf Squeezelite-X gestoßen, das es nur für Windows 10 gibt und im Systemtray läuft. Auf Wunsch öffnet es auch ein Fenster mit der Weboberfläche des Servers. Im Gegensatz zu Squeezeplay kann Squeezelite-X auch die Mediatasten verwenden, die auf einigen Tastaturen vorhanden sind. Damit kann dann bspw. ganz einfach zum nächsten Lied vorgesprungen werden, was ich in der Tat häufiger tue.

Wenn ich im Büro nicht mehr höre, drehe ich in SqueezePlay entweder die Lautstärke zurück oder ich beende das Programm. Die Player in den anderen Räumen spielen trotzdem weiter.

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 angehört werden.
  • Last.fm Audioscrobbler – Überträgt jeden gespielten Titel nach Last.fm. Genres oder Webradio lässt sich ausschließen. Für letzteres setze ich es gern ein.
  • 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 Hardware und 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. 🙂