Gérer sa collection musicale avec MPD et y accéder en streaming avec MPDroid

Les commentaires de mon précédent billet sur les solutions pour contrôler un lecteur audio à distance avec Android m’ont permit de découvrir Music Player Daemon.

Music Player Daemon

MPD est un lecteur audio libre qui a la particularité de fonctionner en mode client/serveur. Un démon tourne sur votre ordinateur, gère la collection musicale dans une base de données, et se charge de lire la musique en gérant lui-même les différents plugins. Des clients locaux ou distants permettent de contrôler la lecture.

  • Plugins de décodage: AudioFile, libfaad (aac and mp4), ffmpeg, FLAC, fluidsynth, libmad et libmpg123 (mp3), Musepack, OggFlac, OggTremor, OggVorbis, WavPack, libsidplay, libsndfile, wildmidi
  • Plugins de sortie: ALSA, FIFO, JACK, OSS, OSX, libao, PulseAudio, Media MVP, Shoutcast/MP3, Shoutcast/Ogg Vorbis

Si la solution peut paraître un peu plus complexe qu’un lecteur classique, elle mérite que l’on s’y intéresse tant le serveur est léger, peu consommateur de ressources et les clients modulables.

Une installation pas-à-pas

L’installation de MPD est relativement bien décrite sur la page MPD de la documentation ubuntu-fr. Je vous livre ici une procédure, qui reprend la page du Wiki adaptée à ma configuration pour Ubuntu 10.04 avec PulseAudio.

Le serveur MPD est disponible dans les dépots en installant le paquet mpd. Ensuite, assurez vous qu’aucune instance de Mpd n’est lancée (cela peut arriver lors de l’installation) en tuant le processus : sudo killall -9 mpd

Puis modifiez les paramètres suivants (pensez à adapter le chemin vers la racine de votre dossier de musiques) : vim /etc/mpd.conf
music_directory "/home/sidney_v/Musique/albums"
playlist_directory "/home/sidney_v/mpd/playlists"
db_file "/home/sidney_v/mpd/mpd.db"
log_file "/home/sidney_v/mpd/mpd.log"
pid_file "/home/sidney_v/mpd/pid"
state_file "/home/sidney_v/mpd/state"
user "sidney_v"
bind_to_address "any"
metadata_to_use "artist,album,title,track,name,genre,date"

Créez les répertoires mpd et playlists qui apparaissent dans le fichier précédent :

mkdir ~/mpd ~/mpd/playlists
cd ~/mpd && touch pid state mpd.log

Ajoutez la section suivante pour prendre en charge Pulse :
audio_output {
type "pulse"
driver "esd"
options "host=127.0.0.1:16001"
name "esd"
mixer_type "software"
}

Il suffit ensuite de créer votre bibliothèque musicale mpd –create-db puis de démarrer mpd sudo /etc/init.d/mpd start

Un client original et complet pour Android

Contrôlez votre serveur MPD à partir de l’un des nombreux clients MPD disponibles. Pour Android, il existe notamment MPDroid, un projet récent, actif et très fonctionnel, qui mérite d’être présenté.

L’application MPDroid (de son vrai nom dmix, disponible sur le market) est open-source. C’est un fork de PMix, corrigeant plusieurs bugs et ajoutant diverses fonctions dont le support du streaming (MPD > = 0.15 requis), la mise à jour de la base de donnée, la gestion de plusieurs playlists ou encore un fond transparent laissant entrevoir le fond d’écran du téléphone. Il supporte aussi bien les réseaux wifi que 3G.

Pour configurer le streaming (et ainsi écouter la musique de votre pc sur votre téléphone), ajoutez la section suivante au fichier de configuration /etc/mpd.conf :
audio_output {
type "httpd"
name "My HTTP Stream"
encoder "vorbis" # optional, vorbis or lame
port "8000"
# quality "5.0" # do not define if bitrate is defined
bitrate "128" # do not define if quality is defined
format "44100:16:1"
}

N’oubliez pas de rediriger les ports TCP 6600 et 8000 de votre box vers votre ordinateur pour accéder respectivement à MPD et avoir le streaming !

Vus : 1271
Publié par openSyd : 102