Posts mit dem Label ncmpcpp werden angezeigt. Alle Posts anzeigen
Posts mit dem Label ncmpcpp werden angezeigt. Alle Posts anzeigen

Samstag, 18. Mai 2013

Teil 2/3 - Music Player Daemon auf dem Raspberry Pi

MPD (Musicplayer Daemon), MPC und ncmpcpp

Der Music Player Daemon bietet die Möglichkeit lokal auf dem Pi abgelegte Musikdateien abzuspielen. Hierfür sind eine fülle an Apps für Smartphones vorhanden. Zur bedienung über die Kommandozeile empfehle ich das Paket ncmpcpp.

Die nötigen Pakete werden installiert:
sudo apt-get install mpd mpc ncmpcpp alsa-utils

Im ersten Schritt erstellen wir einen Ordner music im Home-Verzeichnis des Pi's:
cd ~
mkdir music
(Info: Das Tildezeichen (~) lässt sich auf dem Mac bei deutschem Tastaturlayout über die Tastenkombination ALT + N erzeugen.) Anschließend folgendes eingeben:
sudo modprobe snd_bmc2835
Nun muss MPD konfiguriert werden:
sudo nano /etc/mpd.conf 
Mit der Tastenkombination CTRL + V scrollt man im Text soweit hinunter bis die Zeile:
bind_to_adress
erscheint. Soll MPD nicht direkt vom Pi aus bedinet werden können muss direkt vor die Zeile eine # geschrieben werden (Auskommentieren.)Dies ist notwendig wenn man bspw. die Musik über das Smartphone oder das Terminal steuern will. Beim Eintrag
auto_update    "yes"
sollte ebenfalls die # entfernt werden. So wird die Musikbibliothek automatisch von MPD aktualisiert sobald neue Musik im ordner abgelegt wird. Ein paar Zeilen weiter muss bei der Zeile
#follow_outside_symlinks   "yes"
die Raute (#) entfernt werden. Da ich nicht das Standartverzeichnis nutze in dem MPD normalerweise die Musikdateien erwartet, sondern den vorher erstellten Ordner music verwenden möchte. Weiter unten werden die Audio-Ausgänge definiert. Bei mir sieht das so aus:
audio_output {
        type            "alsa"
        name            "RaspberryPi"
        format          "44100:16:2"    # optional
        mixer_type      "software"
Mit CTRL + X und anschließender Bestätigung zum Speichern ist der Music Player Daemon soweit startklar. Da MPD über die vorhin geänderte Zeile follow_outside_symlinks bereits so konfiguriert ist, dass auch auf Musikverzeichnisse ausserhalb des Standartpfades zugegriffen werden kann, muss noch einen Verknüfung (Symlink) zu dem erstellten Ordner music im Standartpfad erstellt werden. Dazu wechselt man in den Standartpfad:
cd /var/lib/mpd/music
und erstellt über folgendes Kommando eine Verknüpfung auf den music-Ordner:
ln -s /home/pi/music
Die Standardpfade benötigen noch die notwendigen Berechtigungen, die den reibungslosen Betrieb von MPD garantieren:
sudo chmod g+w /var/lib/mpd/music/ /var/lib/mpd/playlists/
sudo chgrp audio /var/lib/mpd/music/ /var/lib/mpd/playlists/
Jetzt können Musikdateinen im MP3-, FLAC- und vielen anderen Formaten einfach in diesem Ordner abgelegt werden.

Im letzten Schritt muss MPD einmal neugestartet werden, damit alle Änderungen wirksam werden:
sudo service mpd restart


NCMPCPP

Über den Befehl
ncmpcpp
kann nun eine minimale Textbasierte Oberfläche zur Steuerung über die Kommandozeile aktiviert werden. Drück man die Taste 1 findet man alles nötige was zur Steuerung von ncmpcpp benötigt wird. Beendet wird ncmpcpp durch ein druck auf die Q-Taste.


Steuerung über Apps:
MPD lässt sich wunderbar über das Tablet/Samrtphone steuern.

Weiter zu Teil 1 des Tutorials in dem aufgezeigt wird, wie man Apple's Airplay auf dem Raspberry Pi installiert um Musik direkt aus iTunes oder iOs auf den Pi zu streamen oder zu Teil 3 in dem erklärt wird, wie man über Bluetooth Musik auf den Pi streamen kann. 

Dreiteiliges Tutorial: RaspberryPi als Radio und Streaming-Client

In diesem dreiteiligem Tutorial werde ich zeigen, wie man einen Raspberry Pi in ein erstklassiges Radio verwandeln kann. Jedoch kein herkömmliches UKW-Radio, sondern ein funktionales kleines Medienradio was sich nahtlos in die heimische digitale Infrastruktur ingeriert und Konnektivität für nahezu jedes Device und OS bietet.

Das Tutorial wird an dieser Stelle in drei Posts aufgeteilt. Nachdem diese befolgt wurden sollte der Pi folgendes bieten:
  • TEIL 1: Apple Airplay Streaming um Musik direkt aus iTunes auf den Raspberry Pi zu streamen. Ich benutze dafür ein Paket namens Shairport, was leicht zu konfigurieren ist und seinen Dienst mehr oder minder gut leistet.
  • TEIL 2: Music Player Daemon (MPD) um auf dem Raspi abgespeicherte Musik abzuspielen. MPD lässt sich wunderbar per Smartphone steuern und beherrscht neben der Wiedergabe lokaler Musikdateien auch die Wiedergabe von Streams, das Anlegen von Playlists, eine einfache Bedienung über das Terminal und noch vieles weitere.
  • TEIL 3: Musik-Streaming per Bluetooth A2DP-Protokoll um bspw. Musik von Android oder iOs auf das Gerät zu streamen. Der große Vorteil besteht darin, dass nahezu jedes Smartphone mit Bluetoothmodul von Haus aus dieses Protokoll spricht und somit ohne zusätzliche App Musik streamen kann. Zusätzlich kann der Pairing-Vorgang mittels eines NFC-Tags vereinfacht und automatisiert werden.
Bevor eine dieser Anleitungen befolgt wird, muss jedoch eingangs die Quelle angegeben werden, aus der der gestreamte Sound aus dem Pi kommen soll. Dies kann über HDMI oder Analog-Klinke erfolgen. Standardmäßig ist der Pi so eingestellt, dass er automatisch erkennt an welchem der beiden Anschlüsse ein entsprechender Stecker eingesetzt wurde. Probleme gibt es jedoch wenn man den Sound altmodisch über den 3,5mm-Klinkenport nutzen möchte aber gleichzeitig einen Monitor über HDMI angeschlossen hat. Dann bleibt der Pi stumm, da er denkt dass das Audiosignal über HDMI übertragen werden soll. In meinem Fall habe ich den Pi so eingestellt, dass alles Audio über den Klinkenport ausgegeben wird. Dies geht folgendermaßen:
sudo amixer cset numid=3 1
Dabei steht die letzte Zahl "1" für den Klinkenport. Soll der Sound über HDMI ausgegeben werden muss hier eine "2" stehen. Steht dort eine "0" ist der bereits erwähnte automatische Modus aktiviert.