Benutzer-Werkzeuge

Webseiten-Werkzeuge


raspberry_pi:raspotify

Dies ist eine alte Version des Dokuments!


Spotify Connect auf dem Raspberry Pi

Im Sommer 2020 habe ich mir einen Beyerdynamic DT 1990 Pro zugelegt. Mit einer Impedanz von 250 Ohm ist der Verstärker im Lightning-zu-Klinke-Adapter von Apple jedoch hoffnungslos überfordert. Also habe ich mir einen Kopfhörerverstärker mit DAC - und zwar den RME ADI-2 DAC FS - zugelegt. Ein klasse Gerät, das ich jedem HiFi-Enthusiasten nur wärmstens empfehlen kann. Das iPhone mit einem Kabel mit dem DAC bzw. Verstärker zu verbinden war jedoch auf Dauer nervig. Die Übertragung mit Airplay über eine Airport Express 2 war nicht zufriedenstellend, weil ein Knistern zu hören war. Also habe ich nach einer Alternative gesucht und Raspotify gefunden. Mit Raspotify ist es möglich, einen Raspberry Pi als Wiedergabegerät in der Spotify-App anzugeben. Die Übertragung erfolgt also nicht via Airplay über das iPhone, sondern mit Spotify Connect direkt über den Raspberry Pi.

Raspotify installieren und konfigurieren

Alle Infos zu Raspotify: https://github.com/dtcooper/raspotify

Im Wiki findet man alle Infos zur Konfiguration.

Die folgenden Notizen beziehen sich auf Raspotify 0.41.0.

Mit dem folgenden Skript wird Raspotify automatisch installiert:

sudo apt-get -y install curl && curl -sL https://dtcooper.github.io/raspotify/install.sh | sh

Für guten Ton sorgen

Nach erfolgreicher Installation müssen an der Konfigurationsdatei Änderungen vorgenommen werden. Das ist nötig, weil die Konfiguration in der Spotify-App, bspw. die Wiedergabequalität, nicht für das Ausgabegerät übernommen werden. Die Konfigurationsdatei von Raspotify übergibt diese an die Konfigurationsdatei von librespot. Eine Auflistung der Konfigurationsoptionen von librespot gibt es hier. Dafür wird die Konfigurationsdatei aufgerufen:

sudo nano /etc/raspotify/conf

Zunächst schalte ich die Lautstärkenormalisation ab. Dazu muss der Befehl mit einem Doppelkreuz auskommentiert werden.

#LIBRESPOT_ENABLE_VOLUME_NORMALISATION=

Anschließend ändere ich den in der Spotify-App angezeigten Namen für Raspotify.

LIBRESPOT_NAME="ADI-2-DAC"

Vor allem sollte die Bitrate erhöht werden.

LIBRESPOT_BITRATE="320"

Mit dem Befehl

librespot --device ?

werden alle kompatibeln Ausgabegeräte angezeigt. Damit das funktioniert, muss der DAC per USB angeschlossen sein. In meinem Fall erhalte ich die folgende Ausgabe (gekürzt):

        Device:

                surround40:CARD=DAC59740198,DEV=0

        Description:

                ADI-2 DAC (59740198), USB Audio
                4.0 Surround output to Front and Rear speakers

        Supported Format(s):

                S32

        ------------------------------------------------------

        Device:

                iec958:CARD=DAC59740198,DEV=0

        Description:

                ADI-2 DAC (59740198), USB Audio
                IEC958 (S/PDIF) Digital Audio Output

        Supported Format(s):

                S32

Das zweite Ausgabegerät muss nun konfiguriert werden. Dazu muss zunächst das Output-Format geändert werden.

LIBRESPOT_FORMAT="S32"

Anschließend muss das entsprechende Ausgabegerät definiert werden.

LIBRESPOT_DEVICE="iec958:CARD=DAC59740198,DEV=0"

Nach Änderungen an der Konfigurationsdatei muss der Dienst neu gestartet werden:

sudo systemctl restart raspotify

Automatischer Reboot

Bevor ich ein Gehäuse mit Taster zum Ein- und Ausschalten hatte, lief der Raspi einfach 24/7. Nach einigen Wochen ausgiebiger Nutzung hat sich gezeigt, dass mit der Zeit die WLAN-Verbindung instabil wird. Das äußert sich in häufigen Verbindungsabbrüchen. Da ein Neustart Abhilfe zu schaffen scheint, habe ich einen Cronjob eingerichtet, der den Raspberry täglich um 4:00 Uhr neu startet.

Dafür wird zunächst die Crontabelle geöffnet.

sudo crontab -e

Anschließend wird der folgende Befehl eingetragen.

00 4 * * * sudo reboot

Power On / Off

Im Juni 2022 habe ich meinen Raspberry Pi in das Pi Case 40 von Cooler Master gepflanzt. Dieses Gehäuse hat einen kleinen Taster, mit dem man den Raspi ein- und ausschalten kann. Das Einschalten funktioniert ohne zusätzlichen Code, um ihn mit dem Taster ausschalten zu können, muss man in die Datei /boot/config.txt den folgenden Code einfügen.

dtoverlay=gpio-shutdown

Den täglich Reboot (siehe oben) kann man sich dann freilich schenken.

Hintergrundinformationen

raspberry_pi/raspotify.1702804082.txt.gz · Zuletzt geändert: 17.12.2023 10:08 von Frickelpiet