Der Music Player Daemon (MPD) ist ein Software-Sound-Player für Linux, mit dem sich Musik in zahlreichen Formaten (unter anderem MP3) abspielen und über die Lautsprecher oder per BlueTooth ausgeben lassen. Gesteuert wird der MPD von dem kleinen Programm MPC: Das ist der Hauptgrund, warum wir beide auf dem Raspberry Pi installiert haben: So lassen sich mit dem Smart Home Server FHEM Töne und Sprachnachrichten über die Lautsprecher ausgeben.
Die Installation ist recht einfach – wir hatten nur mit einem Rechteproblem bei dem Musik-Ordner zu kämpfen. Der wird standardmäßig angelegt, wenn man seine Musik- oder Sounddateien aber bereits an einem anderen Ort gespeichert hat, kann man den Pfad in der Konfigurationsdatei aber auch später anpassen.
MP3 auf dem Raspberry: So installiert man MPD und MPC
Zunächst lädt man sich per apt-get die neuesten Software-Bibliotheken und anschließend den MPD Dienst: Dazu meldet man sich per SSH auf dem Raspberry Pi (oder einem anderen Linux-Rechner an) und lädt sich die aktuellsten Daten:
sudo apt-get update
Der nächste Befehl lädt dann den MPD Dienst, den MPC Player und die Alsa-Tools für die Sound-Ausgabe:
sudo apt-get install mpd mpc alsa-utils
Hier kam es bei uns zunächst zu einer Fehlermeldung, da der “tag_cache”, die Datenbank für den MPD, zunächst nicht gefunden wurde. Dies ist aber kein Problem, da MPD sie anschließend selber anlegt.
Die nächsten beiden Befehle passen die Audio-Einstellungen an:
sudo modprobe snd_bcm2835
sudo amixer cset numid=3 1
Anschließend wird die Konfigurationsdatei bearbeitet – Einsteiger sollten dazu den Nano Texteditor nehmen, Experten werden wahrscheinlich lieber zu vi greifen:
sudo nano /etc/mpd.conf
Hier wird direkt auf der ersten Seite schon das Musik-Verzeichnis für die Sounds oder Lieder festgelegt – standardmäßig ist das der Ordner “/var/lib/mpd/music”, in den die Dateien nachher zum Beispiel per FTP kopiert werden müssen. Wer möchte (und sich mit dem Linux-Dateisystem auskennt!) kann den Pfand auch anpassen, anderenfalls sollte dies so belassen werden.
Weiter unten kommt der Punkt bind_to_address “localhost”. Wer auch über das Netzwerk auf den Player zugreifen möchte, muss diese Zeile mit einer Raute (“#”) auskommentieren, wer den Player nur lokal nutzen möchte, kann diese Einstellung belassen:
#bind_to_address "localhost"
Als nächstes sollte der Port 6600 freigeschaltet werden, indem man die Raute “#” vor der kommenden Zeile löscht:
port "6600"
Abschließend müssen noch die letzten vier Elemente unter “Audio-Output” auskommentiert werden, dabei aber nicht versehentlich die abschließende Klammer ebenfalls mit einer Raute versehen:
audio_output {
type "alsa"
name "My ALSA Device"
device "hw:0,0" # optional
# format "44100:16:2" # optional
# mixer_device "default" # optional
# mixer_control "PCM" # optional
# mixer_index "0" # optional
}
Zum Speichern drückt man nun STRG + O und bestätigt den Dateinamen mit Druck auf “Enter”. Der Nano-Editor wird dann mit STRG + X wieder geschlossen, um eine neue Datei einzuladen:
sudo nano /etc/modules
Hier muss die Zeile “snd-bcm2835” am Ende ergänzt werden:
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.
snd-bcm2835
Abschließend müssen noch die Rechte angepasst werden:
sudo chmod g+w /var/lib/mpd/music/ /var/lib/mpd/playlists/
sudo chgrp audio /var/lib/mpd/music/ /var/lib/mpd/playlists/
Sollte der Ordner “/var/lib/mpd/music” noch dem Root-User und nicht dem MPD-User gehören, muss man per “chown” dies noch ändern, andernfalls können die Musik-Daten nicht abgespielt werden. Wer sich bei den Benutzerrechten nicht sicher ist, kann den folgenden Befehl zur Sicherheit einfach ausführen:
sudo chown mpd /var/lib/mpd/music
Abschließend muss der MPD Dienst neugestartet werden, und – wenn man die ersten MP3 Dateien per FTP auf den Raspberry und in das “/var/lib/mpd/music/” Verzeichnis kopiert hat – die Datenbank aktualisiert werden:
sudo /etc/init.d/mpd restart
sudo mpc update
Sind jetzt Lieder und Playlisten vorhanden, lassen sie sich mit zahlreichen Playern abspielen – oder mit FHEM nutzen, um bei bestimmten Ereignissen Sounds über den Smart Home Server abzuspielen.