Veröffentlicht am Schreib einen Kommentar

Raspberry Pi als Musik-Server mit Mopidy

UPDATE: Leider funktioniert Spotify derzeit nicht mit Mopidy. Eine Lösung konnte ich derzeit leider nicht finden. Mopidy bietet mit IRIS zwar eine Alternative für die Anbindung des Spotify-Accounts. Tatsächlich werden die Playlists leider nicht abgespielt. Sobald sich hier etwas tut, werde ich dieses Tutorial aktualisieren.

————————————— 

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 =
password =
client_id =
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