Das Duo aus Raspotify und Spotify TUI ermöglicht es, den Spotify ohne die offizielle Anwendung auf dem RasPi zu verwenden – ideal für Konsolenritter, die möglichst ressourcenschonende Anwendungen bevorzugen.
Der Musik-Streamingdienst Spotify eilt seit Jahren von Erfolg zu Erfolg. Stand Juli 2019 verwenden insgesamt über 230 Millionen User im Monat den Musikdienst. 108 Millionen Musikliebhaber sind sogar bereit, für das kostenpflichtige Abonnement auf Spotify Premium zu bezahlen. Premium-Kunden versorgt Spotify unter anderem mit besserer Soundqualität (320 statt 160 kbit/s) und verzichtet auf Werbung. Trotz des enormen Wachstums und einer eindeutigen Marktführerschaft liegt das Unternehmen allerdings konstant in den roten Zahlen [1]. Nicht zuletzt drücken die Kosten für die Lizenzen und Übernahmen anderer Unternehmen auf das Ergebnis des schwedischen Konzerns.
In so einer Situation interessieren sich Unternehmen in der Regel nur selten für die wenigen Linux-Anwender. Spotify hingegen bietet schon seit Jahren das offizielle Client-Programm auch für den Linux-Desktop an [2]. In der Community gibt es zwar Kritik am enormen Ressourcenhunger des Programms, das bereits auf der Festplatte über 280 MByte in Beschlag nimmt, sowie an dem Umstand, dass die Nutzungsbedingungen das Verteilen der Anwendung untersagen. Deshalb lässt sich Spotify nicht direkt in die Paketquellen der gängigen Linux-Distributionen integrieren; eine Petition versucht dies zu ändern [3]. Doch in der Praxis schlägt sich die Spotify-Anwendung gar nicht so schlecht: So gibt es eigentlich keine wesentlichen funktionalen Unterschiede zwischen den Versionen für Windows, Mac OS X und Linux.
Raspotify
Statt über den Spotify-Client lässt sich der Dienst auch über einen Webbrowser verwenden. Der muss allerdings die in Spotify implementierten Maßnahmen zur digitalen Rechteminderung (DRM) unterstützen. So stehen Nutzer eines Raspberry Pi gleich vor zwei verschlossenen Türen: Den offiziellen Spotify-Client gibt es zwar für Linux, allerdings nicht in einer für die ARM-Architektur geeigneten Variante, und dem im Raspbian-System vorinstallierten Chromium-Browser fehlen die geforderten DRM-Funktionen (Abbildung 1).

Abbildung 1: Auf dem Raspberry Pi aufgerufen, meldet die Webseite von Spotify, dass dem Chromium-Browser des Raspbian-Systems die nötigen DRM-Funktionen fehlen.
Es gibt inzwischen allerdings auch einige Musikplayer-Distributionen, etwa Volumio, die das Streamen von Spotify erlauben [4]. Speziell in der Welt der Raspberry-Pi-Nutzer finden sich jedoch immer wieder Anwender, die sich möglichst schlanke Programme wünschen – gerne auch ohne grafische Oberfläche. Mit Raspotify und der Spotify TUI lässt sich dieser Wunsch umsetzen. Die zwei Programme, eine Kombination aus Server und Client, lassen sich flexibel nutzen, und so kann man verschiedene Szenarien umsetzen.
Hinweis
Raspotify benötigt für den Zugriff auf Spotify Connect [13] zwingend einen kostenpflichtigen Premium-Account. Wer den Streamingdienst lediglich über ein werbefinanziertes Konto verwendet, kann Raspotify und die Spotify TUI nicht verwenden.
Raspotify [5] streamt wie der offizielle Client Musik direkt von Spotify. Das Programm ist allerdings auf die ARM-Architektur des Raspberry Pi optimiert. Im Arbeitsspeicher belegt Raspotify nur wenige Megabyte, während sich Spotify auf einem klassischen PC schnell mehr als 200 MByte RAM gönnt. Dabei erfindet Raspotify das Rad nicht komplett neu: Es basiert auf der Bibliothek Librespot [6], die auch andere Projekte zum Streamen von Musik aus Spotify verwenden.
Auf der Homepage des Projekts veröffentlichen die Entwickler eine Reihe von Wegen, um Raspotify auf dem Raspbian-System eines Raspberry Pi zu installieren. Dabei unterstützt die Software alle Generationen bis zum aktuellen RasPi 4B. Die Anleitung unterscheidet zwischen einer Easy Installation und einer Hard Installation. Wir empfehlen einen Zwischenweg: Nutzen Sie die Installationsroutine des Skripts install.sh, werfen Sie aber vor dem Ausführen des Skripts (Zeile 3 von Listing 1) noch einen Blick in das Programm. So lässt sich leicht prüfen, ob das Skript inzwischen etwas Unerwünschtes macht.
Listing 1
$ wget https://dtcooper.github.io/raspotify/install.sh $ chmod +x install.sh $ ./install.sh
Haben Sie Raspotify auf einem Raspberry Pi installiert, der mit ein paar Boxen oder gar einer Stereoanlage verbunden ist, lässt sich der Dienst schon jetzt sinnvoll nutzen. So können Sie aus der offiziellen Spotify-App heraus – egal, ob von einem Smartphone oder einem PC aus – die Wiedergabe über das Icon links neben dem Lautstärkeregler und den Menüpunkt raspotify (<Rechnername>) auf den mit Raspotify ausgestatteten Mini-Computer umleiten (Abbildung 2). Das funktioniert ähnlich wie mit Spotify-kompatiblen Netzwerklautsprechern wie dem Sonos-System.

Abbildung 2: Raspotify lässt sich direkt aus der offiziellen Spotify-Anwendung heraus ansteuern. In der Liste der mit Spotify-Connect verbundenen Geräte erscheint der Spotify-RasPi als raspotify (<Rechnername>).
Spotify TUI
Der im Vorspann des Artikels beschriebene Sinn der Übung ist damit allerdings noch nicht erreicht: Schließlich soll man am Ende ohne die offizielle Spotify-App (allerdings mit kostenpflichtigem Premium-Account) Musik von Spotify über die Kommandozeile des Raspberry Pi abspielen können. Dazu brauchen Sie noch das Programm Spotify TUI [7].
Im Gegensatz zum Raspotify steht für Spotify TUI kein Repository zur Verfügung, es lässt sich jedoch recht leicht aus dem Rust Package Registry [8] einspielen (Listing 2). Achten Sie nach der Installation darauf, dass der Ordner ~/.cargo/bin/ in der PATH-Variable auftaucht. Fügen Sie dazu die Zeilen aus Listing 3 an das Ende der Datei ~/.profile an und melden Sie sich neu am System an.
Listing 2
$ sudo apt install cargo libssl-dev $ cargo install spotify-tui
Listing 3
# set PATH so it includes user's # cargo bin if it exists if [ -d "$HOME/.cargo/bin" ] ; then PATH="$HOME/.cargo/bin:$PATH" fi






