Raspberry Pi als Spotify-Client [UPDATE]

Update Juli 2013: Besser ist die “Pi MusicBox

Der Prozessor des Raspberry ist mit seinen 700 MHz nicht eben schnell – bisher habe ich den Desktop noch nicht ausprobiert, aber ich habe mir sagen lassen, dass schon Surfen keinen Spaß macht. Habe ich aber auch nicht vor 🙂 Denn der Prozessor ist zum Beispiel explizit in der Lage, HD-Videos zu rendern – wohlgemerkt lüfterlos. Das prädestiniert ihn als Media Center. Gut, HD-Videos kann mein Bluray-Player auch, aber ich will mal ausprobieren, wie sich der Raspberry als Spotify-Client schlägt. Das kann mein Bluray-Player (oder irgendwas anderes in meinem Heimkino) nämlich nicht.

Also, ich habe Raspbian “wheezy” installiert, und setze funktionierendes LAN voraus:

Es gibt eine Anleitung von Hexxeh, die funktioniert aber nicht. Zuerst kann ich die angegebenen Pakete nicht installieren – irgendwo ist …/libmpg123-0_1.14.2+svn20120622-1_armhf.deb eingetragen, online ist aber (Stand 5.10.12) nur libmpg123-0_1.14.4-1_armhf.deb 🙁 Für die Akten: Man lade libmpg123-dev_1.14.4-1_armhf.deb und libmpg123-0_1.14.4-1_armhf.deb runter, schiebe sie per FTP-Programm (SFTP-Verbindung wählen; User “pi”/Passwort “raspberry”) auf das Gerät nach “/home/pi/”, und installiere sie manuell:

Aber das genügt nicht; ich einen bekomme fehlende vcos_platform_types.h und vcos_platform.h und ilclient.h. Nach gut zwei Stunden (denn man beachte den Lösungsansatz für das erste Problem: zweistellig viele Files editieren; sowie die Unübersichtlichkeit des zweiten Links) gebe ich auf, und versuche einen anderen Weg – der geht zum Glück ziemlich straight forward:

Zuerst installiere ich Subversion (Quelle):

Dann ziehe ich mir die despotify-Sourcen (Quelle) plus einiger Libs (Quelle: README-Datei) direkt, und compiliere sie:

Im Wesentlichen war es das! Man sollte sich nun mittels

einloggen können.

Achtung #1: Die userid ist nicht der Username! Sondern die Nummer, die man unter anderem hier findet (man sieht sie auch, wenn man eine Support-Anfrage stellt) – Danke, @moritzmoro. Achtung #2: Laut FAQ von despotify geht das nur mit Premium-Accounts! Sowas habe ich nicht (mehr), deshalb breche ich hier bis auf Weiteres ab. In den kommenden Tagen werde ich zwei Dinge updaten: Ich werde mein Raspberry frisch aufsetzen, und die obige Anleitung prüfen – ich habe doch so einiges installiert heute, und möchte vermeiden, dass etwas davon wichtig war, aber hier vergessen wurde. Zweitens werde ich (hoffentlich) meinen Spotify-Account, der momentan mit meinem Facebook-Konto verbunden ist, in einen “richtigen” umwandeln können, und diesen auf Premium upgraden.

UPDATE: Richtig, mit einem Premium-Accoount kann man sich einloggen. Der Login dauert recht lange, aber es geht:

Anmerkungen:

  • Während ich als Nicht-Premium-User tatsächlich die User-ID benutzen musste, um wenigstens brauchbare Fehlermeldungen zu bekommen, kann ich als Premium-User ganz normal meinen Usernamen verwenden
  • Wenn das Passwort Sonderzeichen enthält, können diese mit Backslash (“”) escaped werden
  • Das ganze rockt! Das Raspberry hat überhaupt keine Probleme mit dem Decoding von 320kb
  • Man kann nur sehr unkomfortabel nach etwas anderem als Tracks suchen
  • Mein erster Song war standesgemäß “Tom’s Diner” von Suzanne Vega, dem ersten MP3 🙂
  • Sound geht über HDMI raus, Steuerung läuft nach wie vor über SSH – mit dem passenden Client geht das dann auch vom Handy (für’s Windows Phone nutze ich gerade The SSH Client Pro)
  • Als nächstes brauche ich trotzdem ein Webinterface oder so, für meine Freundin.
  • Außerdem steht ein Langzeit-Test an, mal sehen, wie warm das Raspberry wird
  • Das Raspberry spielt weiter, wenn man bsplw das Notebook mit dem SSH-Terminal in den Ruhezustand fährt. Kehrt man “zurück”, dauert es eine Weile, bis wieder der aktuelle Status angezeigt wird – aber er kommt!
  • UPDATE: Inzwischen gibt es eine Version vom Raspberry mit 512MB RAM – ich habe die mit 256, und es läuft prime. Wie oben erwähnt, habe ich den Desktop aber auch nie gestartet, und für eine Konsolenanwendung genügen 256 dicke
  • UPDATE Februar 2013: Offenbar gab es eine Protokolländerung, die den von Prime beschriebenen “segmentation fault” hervorruft 🙁

7 thoughts on “Raspberry Pi als Spotify-Client [UPDATE]

  1. sehr geil!

    -nur musste ich bei mir noch 2 pakete zusätzlich installieren die fehlten. vielleicht fehlen sie ja bei jemandem auch, dann braucht er nicht zu googlen.

    $ sudo apt-get install libncurses5-dev libncursesw5-dev

    -dann sollte man vielleicht noch wissen dass man auf der spotify website ein password setzen muss um sich damit ein loggen zu koennen.

    -und zuletzt noch zur ausgabe, die lief bei mir auf anhieb über die klinkenbuchse und glücklicherweise nicht über hdmi denn dort hab ich keine lautsprecher am tft. du schriebst ja bei dir gehts über hdmi. ob man das irgendwo umstellen kann?!

    joa aber geile seite, geiler typ und endlich hab ich noch ne aufgabe mehr fuer meinen pi 😀

    raspi rulez!

    greetz

  2. Moin,

    ich habe Raspbian frisch aufgespielt und habe alles so gemacht wie du beschrieben hast. Ich kann das Programm starten und auch nach Künstlern suchen. Nach dem ich aber “Play xx” eingebe, stürzt das Programm ab und ich bekomme die Fehlermeldung “segmentation fault”.

    Weiß jemand was das bedeutet und wie man das Problem beheben kann?

    Grüße

  3. @Prime: Danke für den Hinweis! Ich bekomme den Fehler auch, und habe bisher keine Lösung dafür.

    Per Mail kam außerdem die Frage nach meiner Pi-Version: Es ist die “alte” mit 256MB

  4. Hi, erstmal danke für das Tutorial 🙂

    kommt der Fehler “segmentation fault” noch? Wenn das noch so ist, dann kann ich mir ja die Installation sparen :/

  5. Hi, ja, kommt er tatsächlich. Ich vermute, dass es eine Änderung an Spotifys Protokoll gab, und despotify nicht aktualisiert wurde… Sprich: Selbst wenn der Fehler nicht mehr käme, würde mich an Deiner Stelle der schlechte Support seitens despotify davon abhalten, das Projekt so aufzusetzen

Leave a Reply to rasta Cancel reply

Your email address will not be published. Required fields are marked *

Ich erkläre mich damit einverstanden, dass alle eingegebenen Daten und meine IP-Adresse zum Zweck der Spamvermeidung durch das Programm Akismet in den USA überprüft und gespeichert werden. Weitere Informationen zu Akismet und Widerrufsmöglichkeiten.