====== Installation de MPD sur un raspberry pi ! ======
Nous allons voir comment installer MPD (Music Player Daemon) sur le raspberry pi.\\
MPD (Music Player Daemon) est un lecteur qui utilise une architecture client/serveur, ce qui permet de le contrôler à distance. De nombreux clients sont disponibles. Il reste néanmoins un lecteur de choix pour une machine de bureau, léger et efficace.
===== Installation du serveur =====
1. On met à jour la base de packages de raspbian
sudo apt-get update
sudo apt-get upgrade
2. On installe les outils nécéssaires :
sudo apt-get install alsa-utils mpg321 lame
3. On vérifie si le module sonore est chargé, si pas on le charge :
sudo modprobe snd-bcm2835
Pour charger le module au démarrage, on peut l'ajouter dans le fichier /etc/modules
4. On configure la sortie audio :
On sélectionne la sortie audio que l'on veut utiliser. Pour cela on modifie le dernier chiffre par ce que l'on veut utiliser **(0=auto, 1=analog, 2=HDMI)**.
sudo amixer cset numid=3 1
5. On installe le serveur mpd :
sudo apt-get install mpd
On change les droits sur le répertoire **/var/lib/mpd** et **/var/rum/mpd**
sudo chmod -R g+w,o+w /var/lib/mpd
sudo chmod -R g+w /var/run/mpd
6. On édite le fichier de configuration **/etc/mpd.conf**
# Files and directories #######################################################
#
# This setting controls the top directory which MPD will search to discover the
# available audio files and add them to the daemon's online database. This
# setting defaults to the XDG directory, otherwise the music directory will be
# be disabled and audio files will only be accepted over ipc socket (using
# file:// protocol) or streaming files over an accepted protocol.
#
music_directory "/var/lib/mpd/music"
#
# This setting sets the MPD internal playlist directory. The purpose of this
# directory is storage for playlists created by MPD. The server will use
# playlist files not created by the server but only if they are in the MPD
# format. This setting defaults to playlist saving being disabled.
#
playlist_directory "/var/lib/mpd/playlists"
#
# This setting sets the location of the MPD database. This file is used to
# load the database at server start up and store the database while the
# server is not up. This setting defaults to disabled which will allow
# MPD to accept files over ipc socket (using file:// protocol) or streaming
# files over an accepted protocol.
#
db_file "/var/lib/mpd/tag_cache"
#
# These settings are the locations for the daemon log files for the daemon.
# These logs are great for troubleshooting, depending on your log_level
# settings.
#
# The special value "syslog" makes MPD use the local syslog daemon. This
# setting defaults to logging to syslog, otherwise logging is disabled.
#
log_file "/var/log/mpd/mpd.log"
#
# This setting sets the location of the file which stores the process ID
# for use of mpd --kill and some init scripts. This setting is disabled by
# default and the pid file will not be stored.
#
pid_file "/var/run/mpd/pid"
#
# This setting sets the location of the file which contains information about
# most variables to get MPD back into the same general shape it was in before
# it was brought down. This setting is disabled by default and the server
# state will be reset on server start up.
#
state_file "/var/lib/mpd/state"
#
# The location of the sticker database. This is a database which
# manages dynamic information attached to songs.
#
sticker_file "/var/lib/mpd/sticker.sql"
#
###############################################################################
...
#bind_to_address "localhost"
...
si vous rencontrez des problèmes de connexion au serveur MPD, commentez la ligne bind_to_address
7. On copie nos musiques sur le raspberry pi dans le répertoire **/var/lib/mpd/music**
8. On crée un fichier radio.m3u avec les radios que l'on veut pouvoir écouter par internet et on le copie dans **/var/lib/mpd/playlists**
#EXTM3U
#EXTINF:-1,Pure FM
http://broadcast.infomaniak.net:80/purefm-128.mp3
#EXTINF:-1,Classic 21
http://broadcast.infomaniak.net:80/classic21-128.mp3
#EXTINF:-1,Vivacité
http://broadcast.infomaniak.net:80/vivabxl-128.mp3
#EXTINF:-1,Bel RTL
http://audiostream.rtl.be/belrtl128
#EXTINF:-1,Contact FM
http://radio-contact.ice.infomaniak.ch:80/radio-contact-high
#EXTINF:-1,Nostalgie
http://broadcast-adswizz.infomaniak.net:8000/nostalgiepremium-128.mp3
#EXTINF:-1,NRJ
http://broadcast.infomaniak.net:80/nrjbe-high.mp3
#EXTINF:-1,Radio Contact
http://audiostream.rtl.be/contactfr
Pour trouver les adresses de streaming des radios, se rendre sur le site [[http://www.listenlive.eu/index.html|European radio]].\\
Télécharger le fichier radio m3u que l'on veut et copier le contenu dans notre fichier radio.m3u en respectant la syntaxe.
===== Installation d'un client GTK =====
On installe un client sur son pc et on peut écouter la musique qui se trouve sur son raspberry pi :
apt-get install gmpc
{{ :gmpc.jpg?600 |}}
===== Installation d'un client web =====
Nous allons installer un client web sur le serveur MPD. Cela permettra de piloter MPD via un navigateur web.\\
1. On install un serveur web
apt-get install nginx php-apc php5-fpm
2. On télécharge la dernière version de rompr[[http://sourceforge.net/projects/rompr/files/|rompr]].
3. On décompresse l'archive dans **/var/www/**
sudo mkdir www
cd www
sudo wget http://downloads.sourceforge.net/project/rompr/rompr-0.40.zip
sudo unzip rompr-0.40.zip && sudo rm rompr-0.40.zip
cd ..
4. On applique les bons droits sur le répertoire www et rompr.
chmod -R www-data:www-data www
5. On crée le fichier rompr de config pour nginx dans **/etc/nginx/sites-available/**.
server {
listen 9191;
root /var/www/rompr;
index index.php;
server_name raspberrypi;
error_log /var/log/nginx/rompr_error.log;
access_log /var/log/nginx/rompr_access.log;
location ~ .php$ {
include /etc/nginx/fastcgi_params;
try_files $uri =404;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+.php)(/.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/var/run/php5-fpm.sock;
}
}
6. On active le site.
sudo ln -s /etc/nginx/sites-available/rompr /etc/nginx/sites-enabled/rompr
7. On redémarre nginx.
sudo service nginx restart
8. On se connnecte sur l'application web **(adresse_ip_du_raspberrypi:9191)**.
{{ :wiki:rompr.jpg?600 |}}
=====Références :=====
* [[https://wiki.debian.org/fr/Mpd/ | Wiki debian]]
* [[http://thenated0g.wordpress.com/2013/06/06/raspberry-pi-install-audio-and-mpcmpd/ | MPD et MPC sur raspberry pi]]
* [[http://www.pihomeserver.fr/2012/12/19/raspberry-pi-home-server-etape-13-serveur-de-musique-avec-mpd-et-rompr/|rompr sur raspberry pi]]
* [[http://mpd.wikia.com/wiki/Clients|List client MPD]]