mpd (Music Player Daemon)

MPD ist ein Audio-Player der, wie der Name schon verrät als Daemon im Hintergrund des Systems läuft. Er besitzt eine Playlistverwaltung, eine Musikdatenbank und unterstützt ogg, vorbis, mp3, flac, aac, mod und wave also alles was man braucht, oder?

Nein – das hört sich noch nach einem zu “normalen” Audioplayer an, denn das wohl schönste Feature ist:

Die Client/Server-Struktur in dem er sogar über das lokale Netzwerk bedienbar ist. (sehr WG-tauglich) Also los gehts:

1) Installation

Als erstes muss man natürlich den mpd installieren. In den meisten fällen, ist mpd in den Repositories der Distributionen die man einset zt enthalten. Mit, apt-get, pacman, emerge, etc. installieren.

2) Konfiguration

Nachdem mpd nun installiert ist, sollten erstmal zwei Verzeichnisse im Home-Verzeichnis erstellt werden. Das ist wichtig, damit man später mpd auch als Benutzer laufen lassen kann.

mkdir ~/.mpd/
mkdir ~/.mpd/playlists

2a) Die mpd.conf.example

Nun geht es an die eigentliche Konfiguration:

Bei der Installation hat mpd in /etc/ eine mpd .conf.example angelegt, die man bearbeiten muss und anschließend als mpd.conf abspeichert. Öffnet diese Datei mit dem Editor eurer Wahl.

z.B.:

nano /etc/mpd.conf.example

Das Erste, was einem auffällt ist das die ganze Konfiguratonsdatei mit einer Raute (#) auskommentiert ist. Bei allen Einstellungen die jetzt vorgenommen werden ist zu beachten, daß die Raute vor der jeweiligen Zeile zu entfernen ist.

2b) music_directory & playlist_directory

Das wohl Wichtigste ist, mpd zu sagen wo sich das Musikverzeichnis befindet. Dazu muß der komplette Pfad angegeben werden. Dies sieht bei mir z.B. so aus:

# An example configuration file for MPD
# See the mpd.conf man page for a more detailed description of each parameter.

#####REQUIREDPATHS#############
music_directory "/media/sda5/Musi"
playlist_directory "~/.mpd/playlists"

db_file "~/.mpd/mpd.db"
log_file "~/.mpd/mpd.log"
error_file "~/.mpd/mpd.error"
############################

Die playlist_directory haben wir in unserem Home-Verzeichnis angelegt den wir damit direkt angeben. db_, log_ und error_file legt mpd selbst an, also sind keine Änderungen erforderlich.

2c) User-Variable

Jetzt gehts zum mpd als Benutzer laufen zu lassen. Hierfür setzt man einfach seinen Benutzernamen in die User-Variable, wie z.B. in meinem Fall:

##########DAEMON OPTIONS ################
#
# If started as root, MPD will drop root privileges and run as
# this user instead. Otherwise, MPD will run as the user it was
# started by. If left unspecified, MPD will not drop root
# privileges at all (not recommended).
#
user "ben"
#
# The address and port to listen on.
#
bind_to_address "any"
port "6600"

#

Das bind_to_address kann man ruhig auf “any” lassen, damit sagt man nur das jeder der im LAN angemeldet ist, auf mpd zugreifen darf. (nur was Musik hören angeht) Der port “6600″ ist der Standartport und braucht nicht verändert werden, da er nur für den Client später wichtig ist.

2d) ***PREMISSIONS***

Dem Punkt ******PREMISSIONS****** braucht man keine Beachtung schenken, weil man mpd nur als root updaten oder verändern kann. Wer will kann natürlich trotzdem ein Password angeben und Rechte verteilen.

2e) Sound-Device

Benutzt du alsa, und willst mpd auch über alsa betreiben, so kannst du die Konfigurationsdatei so belassen, wie sie momentan ist.

Wenn du jedoch esd oder einen anderen Soundserver installiert hast, wird die Sache komplizierter, denn dann solltest du alsa als Ausgabegerät angeben. Hier die nötigen Einstellungen:

# An example of an ALSA output:
#
audio_output {
type "alsa"
name "My ALSA Device"
device "hw:0,0" # optional (oder dmixer)
format "44100:16:2" # optional

}
#
#

# An example for controlling an ALSA mixer:
#
mixer_type "alsa"
mixer_device "default" # optional (dmix)
mixer_control "PCM"

#
#

2f) Speichern als…

So das wars mit der mpd.conf.example nun ist es wichtig, sie als
/etc/mpd.conf abzuspeichern.

3) Los gehts!

Als Erstes erzeugt man eine Datenbank. Hierbei sammelt mpd Informationen über die Musik die im (in der mpd.conf angegebenen) Musikverzeichnis ist. Der Befel dafür ist:

/etc/rc.d/mpd create-db

Das kann jetzt ein bischen dauern, je nachdem wie groß die Datenbank ist. Wenn mpd fertig ist (es wird eine entsprechende Meldung ausgegeben) kann man mittels:

/etc/rc.d/mpd start

oder als User mit:

mpd

den music-player-daemon starten.

4) Und wie höre ich jetzt Musik?

Dazu ist ein Client nötig. Informationen über die gängigsten findet man auf der Projektwebseite von mpd oder für die Shell natürlich hier.

Wenn noch Fragen offen sind, kann mal die Manpage von mpd zu Rate ziehen, ansonsten viel Spaß beim Musik hören.


Über diesen Beitrag


  1. Gregor 21.12.2006 / 20:24

    Fixed :)

  2. Levin 21.12.2006 / 20:51

    Ein ähnlicher, auch sehr netter Audioplayer ist moosic

    $ sudo apt-get install moosic
    $ moosic add /share/music/artist/
    $ echo “now playing `moosic current`”
    $ moosic loop
    $ moosic help

    das Interessante an moosic sind die recht mächtigen Kommandos um die Playlist zu filtern und zu manipulieren (etwa über reguläre Ausdrücke)

  3. Xukashi 22.12.2006 / 0:16

    Hi Gregor,
    Danke für den Fix, sieht jetzt echt besser aus. Werd mal schauen ob ich meinen nächsten Artikel genau so hin bekommen

    MfG: Ben

  4. Plakux 7.7.2007 / 19:26

    Als Client empfehle ich mpc (music player control)
    Damit lässt sich dezentral auf der Konsole mpd kontrollieren.

Hinterlasse einen Kommentar

XHTML: Folgende Tags sind erlaubt: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>




Safari hates me