Minimalistischer Musik- und Radiospieler MPD

Meine Frau hat’s getan! Unseren alten Rechner selbstständig mit GNU/Linux bespielt. Manjaro, um genau zu sein.

Wieder eine Gelegenheit für mich, mit Openbox herumzuspielen 🙂
Heute soll es um den MPD gehen.

ncmpc
Flickr: ncmpc
von Graham van der Wielen (CC BY)

Ich hab sonst normalerweise Audacious in Zusammenarbeit mit Radio-Tray benutzt, um den Computer meine MP3s und Radio-Streams zu entlocken. Schon lange hat es mich aber gereizt, Informationen auch in Conky einzubinden und gleichzeitig das System auf Ressourcensparsamkeit zu bürsten.

Nachfolgend meine .mpdconf:

# An example configuration file for MPD.
# Read the user manual for documentation: http://www.musicpd.org/doc/user/
# Copied from /usr/share/doc/mpd/mpdconf.example

music_directory "~/Musik/"
playlist_directory "~/.mpd/playlists"
pid_file "~/.mpd/mpd.pid"
db_file "~/.mpd/mpd.db"
state_file "~/.mpd/mpdstate"
log_file "~/.mpd/log"
sticker_file "~/.mpd/sticker.sql"

# Audio Output
audio_output {
type "pulse"
name "MPD Pulse Output"
sink "alsa_output.pci-0000_00_05.0.analog-stereo"
}

audio_output {
type "alsa"
name "MPD ALSA Device"
device "pulse"
# mixer_type "software"
# mixer_device "default"
mixer_control "Master"
}

bind_to_address "127.0.0.1"

group "audio"

Es ist möglich, dass es ausreicht, nur pulse unter audio_output aufzuführen, aber ich mag gern ein Fallback (hier: ALSA) haben 🙂

bind_to_address sorgt dafür, dass ihr den MPD lokal betreiben könnt.
Wichtig: Nicht als user "mpd" laufen lassen! Andernfalls habt ihr einen Systemdienst.

Als client dient bei mir mpc. Nach dem ersten Start wird eine Datenbank angelegt, die das Musik-Verzeichnis indiziert. Ich beschränk mich derzeit auf ein Album, da Windows mir in die EXIF-Daten gefuscht hat -.-

Hier noch der Inhalt meiner Autostart, um beim Einloggen ein MPC arbeitsfähig vorliegen zu haben:

pulseaudio --start
mpd
mpc enable 1
mpc shuffle

Vielleicht ist euch aufgefallen, dass MPC eine Kommando-Zeilen-Anwendung ist. Korrekt. Damit ich aber nicht ständig ein Terminal offen hab, band ich die Befehle mpc play, mpc toggle usw. an Tastaturkürzel. Einfach die Manpage via man 1 mpc konsultieren 😉

Zum Abschluss noch ein Beispiel, wie MPD ein Internetradio bekannt gemacht wird:

$ cat .mpd/playlists/DieNeue1077.m3u
http://edge.live.mp3.mdn.newmedia.nacamar.net/ps-dieneue_rock/livestream_hi.mp3

Wichtig ist der Pfad zur MP3 (oder was immer dein Radio benutzt) in eine .m3u einzutragen. Ich sah im Internet nur herunterladbare Beispiele. Dabei sind das zwei Zeilen eingebundener Code …

Advertisements

15 Gedanken zu “Minimalistischer Musik- und Radiospieler MPD

  1. Ich merke mal wieder, dass mir die Sprache der Programmierer und Informatiker selbst dann noch fremd bleibt, wenn sie sich um Endnutzerfreundlichkeit bemühen. Aber diese Sorte Artikel befeuert immer wiederneu meinen Ehrgeiz.
    Wer ist Manjaro?

    • Nicht wer, was 😉

      Eine GNU/Linux-Distribution: http://manjaro.org/

      Sie basiert auf Arch Linux, welches eher für Fortgeschrittene geeignet ist, vereinfacht aber den Umgang.
      In etwa im Verhältnis wie Ubuntu zu Debian 😉

      Wo hab ich mich denn noch unklar ausgedrückt? Ich mag mich gerne verbessern 🙂

      • Du machst das schon ganz gut. Deshalb les ich hier immer wieder. Ich selbst Mühe mich, solche Sachen wie Kommandozeile, Java-Skript, Linux-Derivate … zu verstehen.
        ArchLinux hatte ich mal als mobiles Linux auf dem Stick.

      • Arch-Linux gefiel mir als Nutzerin ganz gut. Warum, weiß ich auch nicht. Heute nutz ich nur noch Ubuntu.

      • Hab eine Video-Vortragsreihe der RWTH Aachen bei iTunes gefunden. Da wird ein Übungsbuch empfohlen. Geht langsam weiter mit Java. Das Buch ist von O’Reilly, die mir sowieso gut gefallen.

      • Ich mag die Jungs von O’Reilly.
        Magst mir das Buch einmal verraten?

        Java ist persönlich nicht meine Welt (Scala soll einige interessante Verbesserungen bieten und baut auf Java auf …), aber viel Erfolg!

      • „Java von Kopf bis Fuß“
        Was spricht gegen Java? Ist auf jeden Fall einsteigerfreundlich, weil man schlußendlich was damit anfangen kann. Oder?

      • Hab es gelesen. Was ist aus deiner Sicht für eine ambitionierte Einsteigerin die richtige Alternative?

      • Der Autor des verlinkten Wikis schlägt diese vor:

        Python, Vanilla C (Vanilla = rein, d.h. nicht eine andere Sprache, die Dinge wegabstrahiert), Lisp, Scheme, Haskell.

        Persönlich würde ich eine Interpretersprache empfehlen, da diese einige Low-Level-Elemente wie Speicherverwaltung für dich übernimmt.
        In der englischen Wikipedia findest du eine Liste:
        https://en.wikipedia.org/wiki/List_of_programming_languages_by_type#Interpreted_languages

        Schau dir „Hello World“ Beispiele an.
        Dann such nach Screencasts oder Kursen.

        Im Web-Bereich kenn ich beispielsweise:
        https://www.codeschool.com/courses und http://www.codecademy.com/de

        Wie gesagt, es kommt drauf an, was du machen möchtest.

        Wenn du Sachen auf deiner Ubuntu-Maschine automatisieren willst, nimm Shell oder Python. Sofern Sachen von außerhalb (= das Internet) kommen, Python.

        Wenn du Websiten programmieren willst, nimm Python, Ruby on Rails oder Node.js/AngularJS.

        Wenn du Textdateien verarbeiten willst, Perl.

        Wenn du statistische Untersuchungen machen willst, GNU R.

        Usw. usw.

      • Ich hab mich auch einmal in der Community umgehört:

        Zusammenfassung:
        – Java
        – C#
        – Python (2x)
        – Javascript
        – Ruby

        Viel Spaß mit Perl 🙂
        Tu dir ein Gefallen und halt deine Fortschritte in einem Blog fest. Nur für dich. Und wenn jemand kommentiert, umso besser 🙂

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s