[Anleitung] Installation und Konfiguration von Spotify-TUI auf dem Raspberry Pi

  • Spotify-TUI bedeutet eigentlich nur, daß es ein einfacher Spotify Client ist aber im Text User Interface und wird in der Konsole bzw Terminal ausgeführt (ein Desktop ist nicht notwendig)

    Dieser Player funktioniert mit "raspotify" und "spotifyd", einer von beiden muß installiert sein sonst kommt keine Musik aus dem Raspi.

    Als aller erstes geht man auf die folgende Webseite:

    https://developer.spotify.com/dashboard/applications

    Dort meldet man sich mit seinem Spotify Account an und geht anschließend auf "create an App" wie auf den folgenden Bildern zu sehen ist. Klickt auf "Edit Settings" und unter "Redirect URIs" fügt man "http://localhost:8888/callback" ein und klickt auf Add. Alles abspeichern und im Hauptmenü erhält man jetzt eine "client id" und den dazugehörigen "client secret" (auf meinem Bild ist dieser verdeckt und wird durch das draufklicken sichtbar. Ich habe mir beide "Codes" in einer Text Datei gespeichert.

    Jetzt kann man ausloggen und den Browser schließen oder minimieren. Jetzt benötigen wir einen Player (den Spotify-TUI). Den gibt es für ARM Geräte leider nur als "Snap Paket" zur Zeit.

    Code
    sudo apt update
    sudo apt install snapd

    ab hier habe ich erstmal einen "reboot" gemacht

    Code
    sudo snap install spt

    "spt" per Terminal starten

    Code
    snap run spt

    Entweder startet man "Spotify-TUI" über die Verknüpfung im Startmenü oder man tippt "snap run spt" ins Terminal/Konsole ein. Nun kommt die Abfrage nach der "client id" und dem "client secret"

    Gebt alles ein und dann bei "Enter Port of redirect uri" die 8888 eintippen. Nun dürfte eine Webseite aufgehen mit einer Fehlermeldung. Hier kopieren wir uns oben in der Adressleiste die Internetadresse von dieser "Fehlermeldung" und fügen diese ins Terminal ein und bestätigen mit Enter. Ein Spotify Popup öffnet sich, ggf muss man sich wieder anmelden und dann erteilt man eine Erlaubnis, daß "spt" auf das Spotify Konto zugreifen darf. Dann endlich öffnet sich spt im Terminal wie auf dem Bild.

  • Ganz wichtig: die "?" Taste um die Tastenbelegung rauszubekommen. Die wichtigsten Tasten sind "d" für Devices, "/" um in die Suchleiste zu kommen und natürlich Pfeiltasten...Enter..

  • Hier noch eine kleine Hilfestellung um "raspotify" und "spotifyd" auf dem Raspi zu installieren. Nur eines von beiden ist notwendig um Spotify-TUI zu nutzen.

    Ich bevorzuge "spotifyd" weil er als "User daemon" konfiguriert wird während "raspotify" ein System daemon" ist aber im Prinzip werden beide ab dem System Start ausgeführt.

    Variante "spotifyd":

    https://github.com/Spotifyd/spotifyd/releases

    - ich habe die "spotifyd-linux-armhf-full.tar.gz" runtergeladen

    - im Standard User Verzeichnis (/home/pi) einen Ordner anlegen beispielsweise "spotify"

    - die runtergeladene .gz Datei entpacken und die entpackte "spotifyd" Datei in den erstellten "spotify" Ordner verschieben oder kopieren

    - jetzt brauchen wir die .conf und .service Datei um spotifyd als daemon laufen lassen zu können

    - mkdir -p ~/.config/spotifyd

    - nano ~/.config/spotifyd/spotifyd.conf

    - bei Username und Password gibt man seine Spotify Account Daten an

    - bei "device" steht in meinem Fall "pulse" weil ich PulseAudio installiert habe (bei euch anders ggf)

    - die Bitrate 320 ist auch nur mit "Spotify Premium" möglich, bei Spotify Free geht nur maximal 160

    - Strg+o zum abspeichern und Strg +x zum beenden des nano Texteditors

    - nun erstellen wir die "spotifyd.service" Datei

    - mkdir -p ~/.config/systemd/user

    - cd ~/.config/systemd/user

    - es gibt 2 Möglichkeiten, diese Datei zu erstellen, entweder:

    Code
    wget https://raw.githubusercontent.com/Spotifyd/spotifyd/master/contrib/spotifyd.service

    - oder mit dem Befehl:

    Code
    nano ./spotifyd.service

    - und fügt folgendes ein:

    - wenn man ein anderes Verzeichnis verwendet wo die "spotifyd" Datei liegt dann muss man das auch in der "spotifyd.service" Datei bei dem Punkt "ExecStart=..." angeben- Strg +o zum abspeichern und Strg+x zum beenden des nano Texteditors

    - beide Wege führen zum selben Ziel

    - jetzt machen wir "spotifyd" zu einem Service, der bei jedem Start ausgeführt wird

    Code
    systemctl --user daemon-reload

    - gefolgt von

    Code
    systemctl --user enable spotifyd.service

    - und mit dem Kommando:

    Code
    systemctl --user start spotifyd.service

    - starten wir den Service und wenn jetzt alles richtig eingegeben wurde, je nach dem wie man den spotifyd Namen gesetzt hat, sollte spotifyd jetzt zum Beispiel in "Spotify-TUI" anwählbar sein (in diesem Fall "spotifypi")

    Für die Ubunu User:

    - für die 32bit Variante ist es identisch

    - die 64bit User müssen folgendes ausführen

    Code
    sudo dpkg --add-architecture armhf

    - dann wird automatisch ein "apt update" ausgeführt und dann gibt man folgendes ein:

    Code
    sudo apt-get update
    sudo apt install libasound2-plugins:armhf libasound2-dev:armhf libssl-dev:armhf libpulse-dev:armhf libdbus-1-dev:armhf libsystemd-dev:armhf libssl1.1:armhf libc6:armhf libstdc++6:armhf

    - habe es gerade selber getestet mit Ubuntu 20.10 Desktop 64bit

    Edited 4 times, last by SparklingBird60393: Ergänzung ().

  • Um Spotify Klänge aus dem Raspberry Pi zu zaubern gibt es noch die Möglichkeit "raspotify".

    Als die sicherste und einfachste Variante hat sich für mich die Installation per "sources.list" erwiesen. Folgendes ist zu tun:

    Code
    sudo apt update
    sudo apt install curl apt-transport-https

    Dann erstellt man eine neue Repository, indem man:

    Code
    curl -sSL https://dtcooper.github.io/raspotify/key.asc | sudo apt-key add -v -

    in das Terminal eingibt und mit ENTER bestätigt, gefolgt von:

    Code
    echo 'deb https://dtcooper.github.io/raspotify raspotify main' | sudo tee /etc/apt/sources.list.d/raspotify.list

    Und wiederum mit ENTER bestätigen.

    Jetzt muss man die Paketlisten updaten

    Code
    sudo apt update
    sudo apt install raspotify

    Zur Konfiguration:

    Code
    sudo nano /lib/systemd/system/raspotify.service

    Das sollte dann standardmäßig so aussehen:

    In der Zeile: "ExecStart=/user/bin..." habe ich zusätzlich "--device hw:1,0" bzw. in meinem Fall "--device hw:2,0" eingetragen weil ich eine USB Soundkarte benutze. Die Bitrate habe ich auch auf 320 geändert (Vorgabe ist 160). Anschießend Strg + o zum speichern und mit Strg + x den Nano Editor beenden.

    Code
    sudo systemctl daemon-reload

    und mit ENTER bestätigen.

    Code
    sudo nano /etc/default/raspotify

    Hier muss man auch seine Spotify Zugangsdaten eintragen (Login und Passwort)

    Bei "OPTIONS="username..." gibt man seine Spotify Zugangsdaten ein ABER ohne diese Eckklammern. Wiederum abspeichern mit Strg + o und Nano Editor mit Strg + x beenden

    Code
    sudo systemctl restart raspotify

    Um zu checken, ob "raspotify" ordnungsgemäß läuft:

    Code
    sudo systemctl status raspotify

    Das ist die Methode für Raspbian Buster oder Raspberry Pi OS Buster armhf und diese funktioniert auch auf Raspberry Pi OS Buster 64 obwohl es eine armhf Anwendung ist. Die Methode "spotifyd" (auch nur armhf) habe ich auf Buster 64 nicht zum Laufen bekommen.

  • Seit dem letzten Update vom 2.12.2020, wo der Pulseaudio Server den Alsa Soundserver ersetzt hat, funktioniert "raspotify" nicht mehr bzw. schlecht. Das macht sich bemerkbar indem nach jedem Track oder Trackwechsel die Lautstärke auf 50% oder gar auf 0% zurückgesetzt wird. Und das nervt ungemein.

    Deshalb habe ich mir unter Buster64 die "spotifyd" Datei selber kompiliert mittels "cargo" und läuft. "raspotify" unterstützt nur "Alsa" während "spotifyd" unter anderem auch "pulse" (Alsa Plugin) unterstützt. Unter Buster64:

    Code
    sudo apt install cargo
    
    sudo apt install libasound2-dev libssl-dev libpulse-dev libdbus-1-dev

    Ich empfehle zusätzlich den "Pulseaudio Mixer" zu installieren, muß man aber nicht.

    Code
    sudo apt install pavucontrol

    Wenn "cargo" installiert ist, kann man mit der Erstellung der "spotifyd" Datei beginnen:

    Code
    cargo install spotifyd --locked

    Das kann etwas dauern. Aber gefühlt waren es bei mir 20 Minuten. (war 2 mal auf Balkonien eine schmöken)

    Die "spotifyd" Datei wird dann im Verzeichnis "/home/pi/.cargo/bin" erstellt und kann auch wo anders hin kopiert/verschoben werden.