Raspberry Pi als Musik-Server mit Mopidy

Mopidy, Mopidy auf Raspberry Pi, Mopidy spotify, Mopify, Musik-Server -

Raspberry Pi als Musik-Server mit Mopidy

Auf Reddit bin ich auf ein tolles Projekt gestoßen und das möchte ich gern mit Euch teilen. Es geht um die Installation und Einrichtung eines einfachen, aber schicken auf Python basierten Musik-Servers Mopidy auf einem Raspberry Pi. Das Ganze kann man dann auch sehr gut mit Spotify verbinden und bequem über eine schicke Web-Oberfläche steuern.  

Im Folgenden wird die englische Anleitung auf Deutsch wiedergegeben. Ich wünsche Euch viel Spaß beim Einrichten Eures Musik-Servers. Wenn Ihr Fragen oder Anmerkungen hierzu habt, hinterlasst gerne einen Kommentar. Ich freue mich darauf!  

1. Einführung

Als Basis wurde bei diesem Projekt das aktuelle Raspbian System installiert. Für die Realisierung des Vorhabens wird folgende Software verwendet: mopidy, mit mopidy-spotify, mopidy-spotify-tunigo und mopidy-mopify.

Worum handelt es sich bei all den Programmen? Mopidy ist ein mpd-Server, was ganz einfach für music player daemon steht (Musikplayer Dienst). Auf deren Website steht: Mopidy ist ein umfangreich ausgestatteter Musik-Server, geschrieben in Python.

Und das war es auch schon, nicht mehr und nicht weniger. Ohne weitere Vorkehrungen kann mopidy Musik von der Festplatte wiedergeben.

Mopidy-spotify verbindet mopidy mit Spotify. Dies ermöglicht, alles denkbare von Spotify wiederzugeben bzw. abzuspielen. Man kann seine Playlists managen oder seine Lieblings-Interpreten, -Lieder, -Albums abspielen, oder auch danach suchen.

Mopidy-spotify-tunigo ermöglicht es wiederum, das Browse-Feature von Spotify zu nutzen. Damit erkundet man Genres, vorgestellte (featured) Playlisten, oder neue Veröffentlichungen.

Mopidy-mopify ist ein Web-Frontend zur Benutzung von mopidy im Stil von Spotify. Dadurch kann ich mopidy mit einem Browser von jedem Gerät in meinem Heimnetz bedienen und kontrollieren.

Es gibt jede Menge anderer Web-Frontends im Netz, hier kann man sich informieren.

Es ist auch möglich, sich via CLI-client zu verbinden. Ich benutze oft ncmpcpp, ein oft genutzter Musik-Player für das terminal. Ncmpcpp steht für ncurses music player geschrieben in C++. Da wäre auch noch ncmpc, der aber nicht ganz so viele Features bietet.

2. Los geht's

Was ist nun zu tun, um all das zum Laufen zu bringen? Überraschenderweise recht wenig. Ich habe alles zwei mal installiert, da ich beim ersten Versuch scheiterte - beim zweiten Versuch konnte ich innerhalb einer Stunde alles installieren, inklusive des Betriebssystems. Im Folgenden setze ich voraus, dass Raspian bereits installiert und funktionsfähig ist.

Nachfolgend die Schritte zur Installation von Mopidy:

# Hinzufügen des gpg-Schlüssels des Archivs

wget -q -O - https://apt.mopidy.com/mopidy.gpg | sudo apt-key add -

# Das Repository zu den Paketquellen hinzufügen

sudo wget -q -O /etc/apt/sources.list.d/mopidy.list https://apt.mopidy.com/jessie.list

# Aktualisieren der Paketquellen

sudo apt-get update

# mopidy installieren

sudo apt-get install mopidy

Anschließend sind einige Einstellungen in /etc/mopidy/mopidy.conf vorzunehmen. Nach der Installation sollte diese Konfigurationsdatei bereits vorhanden sein. Folgendes ist in der Sektion [http] dieser Datei zu ändern bzw. hinzuzufügen:

[http]
enabled = true
hostname = 0.0.0.0
port = 6680

Dies weist mopidy an, die http-Erweiterung zu aktivieren. 0.0.0.0 erlaubt mopidy, Verbindungen von jeder IP-Adresse bzw. jedem Rechner anzunehmen, Port ist selbsterklärend. Jetzt benötigen wir noch die lokale IP-Adresse des Raspberry Pi. Um diese zu erfahren, geben wir einfach: ifconfig im Terminal des Raspberry Pi ein. Die Ausgabe des Befehls sollte etwa so aussehen:



Die IP-Adresse ist auf Zeile zwei, hinter inet abzulesen. Bei Verbindung über WLAN wäre
die gesuchte Adresse in Zeile 20 zu finden. Wenn man jetzt mit sudo service mopidy start den Dienst startet, erreicht man das Web-Frontend via Eingabe in der Browser-Adresszeile:

http://192.168.2.115:6680

Ich werde im weiteren diese Adresse verwenden. Tauschen Sie sie in der Praxis einfach
mit Ihrer IP-Adresse aus.

Sie sollten bereits diese Seite sehen können:

Mopidy Web Oberfläche

Als nächstes wollen wir mopidy-spotify installieren:

sudo apt-get install mopidy-spotify

Wir müssen nun wieder unsere mopidy-Konfigurationsdatei /etc/mopidy/mopidy.conf anpassen. Folgende Zeilen werden am Ende der Datei eingefügt:

[spotify]
enabled = true
username = <your spotify username>
password = <your spotify password>
client_id = <your client id>
client_secret = <your client secret>

Die client_id und client_secret erfahren Sie hier. Klicken Sie auf Login mit Spotify (login with spotify) und nach erfolgtem Login erscheinen die gewünschten Daten im Textfeld. Wollen Sie noch weiteres konfigurieren, wie z.B. die Anzahl der Suchergebnisse, schauen Sie bitte im readme von spotify-mopidy nach.

Jetzt wollen wir spotify-tunigo installieren:

sudo apt-get install mopidy-spotify-tunigo

Die Konfiguration ist wieder in /etc/mopidy/mopidy.conf vorzunehmen und relativ einfach:

[spotify_tunigo]
enabled = true

Nun benötigen wir nur noch mopify:

Dazu brauchen wir den python package manager pip, der glücklicherweise in raspian bereits vorinstalliert ist.

sudo pip install Mopidy-Mopify

Sollte pip nicht vorinstalliert sein, kann es auf einem Ubuntu (bzw. debian) ähnlichen System sudo apt-get install python-pip installiert werden.

Abermals folgt die Konfiguration in der Konfigurationsdatei /etc/mopidy/mopidy.conf:

[mopify]
enabled = true
debug = false

Nun sollte alles korrekt konfiguriert sein. Starten Sie mopidy mittels:

sudo service mopidy restart

neu und rufen Sie im Browser http://192.168.2.115:6680/mopidy auf.

Wir sehen, dass mopify korrekt eingerichtet ist. Klicken Sie darauf:

Navigieren Sie zu services (Dienste) und aktivieren Sie den sync durch einfaches
Anklicken. Wenn Sie den Mauszeiger darüber (verweilen) schweben lassen, können Sie über Einstellungen auch die Synchronisation Ihrer Spotify-Daten aktivieren. Danach aktivieren Sie den spotify-Dienst, möglicherweise müssen Sie sich dann noch einmal einloggen.

Und das war es auch schon. Wenn Sie nun via Browser zu

http://192.168.2.115:6680/mopify wechseln, sollte sie dies hier erwarten:



Wenn Sie den Willkommens-Bildschirm zum Laden von Playlisten nicht sehen und in der linken unteren Ecke angezeigt wird, daß spotify nicht verbunden ist, sollte es bei korrekter Konfiguration der sync-Einstellungen genügen, die Seite neu zu laden.

Wollen Sie sich mittels ncmpcpp zum Raspberry Pi verbinden, geht das so:

ncmpcpp --host 192.168.2.115 --port 6680

Alternativ können Sie ncmpcpp entsprechend konfigurieren.

Um den Klang zu testen, verbinden Sie Lautsprecher oder Kopfhörer mit dem 3.5mm  Audioausgang (Klinke). Setzen Sie folgendes Kommando ab:

aplay /usr/share/alsa/speaker-test/sample_map.csv

Wenn Sie etwas hören, ist alles gut, andernfalls versuchen Sie eine Neu-Konfiguration mittels:

sudo raspi-config

Gehen Sie zu Erweiterte Einstellungen (advanced options), audio und erzwingen (force) Sie die Ausgabe mittels Kopfhörer-Ausgang (headphone jack). 

Bei Erfolg können Sie nun einfach über mopify Sound abspielen. :)

Ich hoffe, Sie können dieses kleine Projekt ebenfalls so einfach umsetzen. Schreibt mir Eure Erfahrungen oder Anmerkungen!

Euer Denis


7 Kommentare

  • Denis Schmalz

    Hallo Jochen,

    es könnte auch ein SSL-Problem sein. Einige Benutzer berichten, dass nach dem Update der SSL-Bibliothek das Programm wieder funktioniert hat. Hier ist die Vorgehensweise:

    $ apt-get update
    $ apt-get install gcc make python-dev libssl-dev libffi-dev
    $ pip install requests[security]
    $ reboot

    Danach eventuell wieder den Cache löschen, wie im früheren Post beschrieben.

    Viele Grüße,
    Denis

  • Jochen

    Hallo Denis,
    kann es sein dass ich noch was installieren muss ?
    weil der Befehl: sudo mpc pause
    findet er bei mir nicht

  • Jochen

    Vielen Dank für die Hilfe.
    Die Playlisten werden jetzt angezeigt, aber wenn ich eine Lied abspielen will erscheint nur,
    Loading Tracks, please wait …

  • Denis

    Hallo Jochen! Vielen Dank für Dein Feedback! Ich habe etwas recherchiert und Folgendes ist dabei herausgekommen:
    1. Die Playlists von Spotify selbst können wohl nicht abgebildet werden. Das liegt daran, dass die von Mopidy benutzte Bibliothek “libspotify” diese Funktion nicht unterstützt.

    2. Die eigenen Playlists sollen erscheinen und abspielbar sein. Eine der möglichen Ursachen für das Nicht-Erscheinen von Playlists bzw. Playlist-Inhalten könnte der lokale Mopidy Cache sein. Einige Benutzer haben berichtet, das Problem durch Löschen des Caches in Griff bekommen zu können. Du kannst Folgendes ausprobieren:

    a. Das System komplett aktualisieren:

    sudo apt-get update && apt-get upgrade -y && apt-get dist-upgrade -y && apt-get autoremove && apt-get autoclean

    mpc und mopidy neustarten:

    sudo mpc pause && service mopidy restart

    c. Den Cache-Ordner von Mopidy finden:

    service mopidy run config

    Es sollte hier liegen: /var/lib/mopidy/ Es kann sich aber auch von System zu System unterscheiden.

    d. Die sich im Cache-Ordner befindenden Dateien löschen (evtl. mit root-Rechten) und erneut mpc und mopidy neustarten:

    sudo mpc pause && service mopidy restart

    Diese Vorgehensweise garantiert nicht, dass das Problem gelöst wird. Es handelt sich lediglich um Erfahrungen einiger betroffenen Benutzer.

    Ich hoffe, es hilft Dir.

  • Jochen

    Hallo,
    bei mir hat die Installation soweit geklappt, kann mich auch verbinden mit http://192.168.0.125:6680/mopify/ das klappt soweit alles
    sync Service und Spotify zeigen unten links grün und connected
    meine Playlisten werden auch alle von Spotify geladen,
    aber wenn ich eine Playliste öffne sind alle leer und wenn ich versuche eine Playliste abzuspielen erscheint “loading Tracks” aber nichts passiert.
    Habe mich auch schon mehrfach neu mit Spotify verbunden,
    was mache ich falsch ?
    Gruß Jochen

Hinterlassen Sie einen Kommentar

Bitte beachten Sie, dass Kommentare vor der Veröffentlichung freigegeben werden müssen

Liquid error: Could not find asset snippets/eu-cookie-banner-app.liquid Zurück zum Anfang