Mpd

Aus

Diese Anleitung ist eine Zusammenstellung von verschiedenen Forenbeiträgen mit Erweiterungen zum einfacheren Verständnis. Der Autor möchte sich ausdrücklich bei allen Quellen bedanken, die dafür dienten mpd erfolgreich zu installieren.

MPD einrichten

Was ist MPD?

Wikipedia hilft:

Der Music Player Daemon (kurz MPD) ist ein Unix-Systemdienst, der das Abspielen von Musik auf einem Computer ermöglicht. Er unterscheidet sich von gewöhnlichen Musik-Abspielprogrammen dadurch, dass eine strikte Trennung von Benutzeroberfläche und Programmkern vorliegt. Dadurch ist die grafische Benutzeroberfläche auswechselbar und auch eine Fernsteuerung des Programms über das Netzwerk möglich. Die Schnittstelle zwischen Client und Server ist dabei offen dokumentiert und der Music Player Daemon selbst freie und quelloffene Software.

Erforderliche Pakete installieren

Um die Pakete installieren zu können, wird vorausgesetzt, dass die DiskStation gebootstrapped ist. Das bedeutet IPKG muss installiert sein.

ipkg install mpd alsa-utils

Weitere Vorbereitungen

Ein Ordner in dem die Konfigurationsdatei, die Datenbank und der Logfile abgelegt werden muss erstellt werden. Der Einfachheit halber und um den Zugriff per ftp zu erleichtern, wird der Ordner im /volume1 Verzeichnis angelegt:

mkdir -p /volume1/mpd

Zusätzlich muss ein Ordner in dem die Wiedergabelisten abgelegt werden erstellt werden:

mkdir -p /volume1/mpd/playlists

Erstellen der Konfigurationsdatei

Es muss eine Konfigurationsdatei erstellt werden, die alle notwendigen Informationen beinhaltet, wie z.B. der Pfad zur Musiksammlung, das Audiogerät, etc.

vi /volume1/mpd/mpd.conf

Diese sieht z.B. für eine DS212+ so aus:

port			"6600"
music_directory         "/volume1/music"
playlist_directory      "/volume1/mpd/playlists"
db_file                 "/volume1/mpd/mpd.db"
log_file                "/volume1/mpd/mpd.log"

audio_output {
	type		"oss"
	name		"OSS Audio"
	device		"/dev/dsp4"
	mixer_type	"oss"
        mixer_device    "/dev/mixer4"
        mixer_control   "PHONEOUT"
}

Die Einstellungen sind dabei folgende:

  • port ist der Port mit dem der Client (z.B. ein Android Smartphone oder ein Rechner im Netzwerk) mit mpd kommuniziert. Standardmäßig wird 6600 verwendet.
  • music_directory der Pfad zum Ordner in dem sich die Musiksammlung befindet.
  • playlist_directory: Der Ordner in dem sich Wiedergabelisten befinden.
  • db_file : Die mpd Datenbank. Wird automatisch erstellt und erfordert keine weiteren Schritte.
  • log_file: Der mpd Logfile. Wird automatisch erstellt und erfordert keine weiteren Schritte.

Ausgabe über USB Soundkarte

Unterstützte USB Soundkarte

Falls eine Ausgabe über eine USB-Soundkarte erfolgen soll ist wichtig, dass die Soundkarte vom Synology-Kernel unterstützt werden muss, damit es funktioniert. Unterstützt werden z.B. folgende Soundkarten (Liste bitte ergänzen)

  • TerraTec Aureon Dual USB
  • Creative Soundblaster Play
  • weitere USB Soundkarten

Konfiguration der USB Soundkarte

Ab DSM 3.0 werden USB Soundkarten mit /dev/dsp4 angesprochen, deswegen müssen die oben genannten Einstellen bei audio_output erfolgen.

Das Ausgabegerät kann mit

alsamixer

ermittelt werden. Bei einer DS212+ heißt der Playbackmixer Speaker [Screenshot [1]]. Um nun festzustellen welcher Mixer verwendet werden muss, kann mit

cat /proc/asound/card0/oss_mixer

herausgefunden werden. Die Ausgabe schaut auf einer 212+ wie folgt aus:

VOLUME "" 0
BASS "" 0
TREBLE "" 0
SYNTH "" 0
PCM "" 0
SPEAKER "Speaker" 0
LINE "" 0
MIC "Mic" 0
CD "" 0
IMIX "" 0
ALTPCM "" 0
RECLEV "" 0
IGAIN "" 0
OGAIN "" 0
LINE1 "" 0
LINE2 "" 0
LINE3 "" 0
DIGITAL1 "" 0
DIGITAL2 "" 0
DIGITAL3 "" 0
PHONEIN "" 0
PHONEOUT "Speaker" 0
VIDEO "" 0
RADIO "" 0
MONITOR "" 0

Deswegen wird bei audio_output unter mixer_control PHONEOUT eingetragen

Autostart von mpd

Damit der mpd-Server auch bei jedem Neustart läuft, müssen noch folgende Einstellungen vorgenommen werden:

Im Verzeichnis /opt/etc/init.d/ muss eine Datei mit Namen S30mpd angelegt werden:

vi /opt/etc/init.d/S30mpd

In dieser Datei muss mpd mit dem Pfad zur Konfigationsdatei stehen:

#! /bin/sh
/opt/bin/mpd /volume1/mpd/mpd.conf

Diese Datei muss anschließend ausführbar gemacht werden:

chmod +x /opt/etc/init.d/S30mpd

WICHTIG: Damit diese Datei ausgeführt wird, muss der Schritt in der IPKG-Anleitung für das separate Optware Startscript befolgt werden. Dieser befindet sich hier: IPKG#Neues_separates_Startup_Script_f.C3.BCr_Optware

Anschließend sollte mpd automatisch beim Start der Diskstation mitlaufen. Überprüft werden kann das mit

ps | grep mpd

Die Ausgabe sollte dann in etwa so aussehen:

 7716 root     44940 S    /opt/bin/mpd /volume1/mpd/mpd.conf
 9473 root      3028 S    grep mpd

Android Clients

Empfehlenswert ist die App MPDroid, die es im Android Market gibt. Weiter bietet das Free-Software-Repository F-Droid eine neuere Verion von MPDroid.

Quellen