MPD, Music Player Daemon

MPD est un lecteur de musique utilisant une architecture client-serveur. Le serveur va agir en tant que daemon (ou service) et s'occuper de lire la musique sur l'ordinateur sur lequel il est installé et garder en mémoire la liste de lecture. Le client mpd permet de construire sa playlist, de la contrôler et de voir les morceaux joués. Il n'est pas obligatoire que le client soit lancé pour que mpd puisse continuer à fonctionner normalement. Il est aussi possible d'ouvrir plusieurs clients simultanément sur autant de machines qu'on le souhaite. Les avantages liés a un tel fonctionnement sont entre autre la légèreté du programme puisque seul le serveur doit être actif pour jouer la musique et la modularité des clients puisqu'ils sont indépendants. Il existe des dizaines de clients différents et ceci sur des plate-formes extrêmement variées; des outils en ligne de commande aux interfaces graphiques plus ou moins complètes en passant par les librairies permettant de piloter mpd via une page web ou les applications pour téléphone portable.

Installation & Configuration

Installez le paquet mpd.

Il vous faut maintenant éditer le fichier de configuration /etc/mpd.conf :

Si vous souhaitez que votre serveur mpd ne soit pas limité a la machine hôte, commentez la ligne

bind_to_address                 "localhost"

Pour contrôler le volume de mpd indépendamment des autres applications utilisant le son, dé-commentez la ligne :

mixer_type			"software"

Il vous faut maintenant redémarrer mpd pour que les modifications prennent effets.

sudo /etc/init.d/mpd restart

Ou pour créer ou mettre a jour votre bibliothèque musicale, si votre client ne le permet pas :

sudo /etc/init.d/mpd force-restart

Vous pouvez suivre la progression de la création de la bibliothèque dans le log grâce à cette commande :

tail -f /var/log/mpd/mpd.log

Allez jeter un coup d'oeil à la page "Les principaux clients" ou sur le site officiel pour vous choisir un client :-)

Astuce

Pour utiliser Audioscrobbler avec mpd, il existe plusieurs solutions : mpdscribble (disponible dans les dépôts), scrobd, et enfin scrobby par l'auteur du client mpd ncmpcpp.

Utiliser mpd avec un compte utilisateur sans privilèges

Si la configuration par défaut de mpd ne vous convient pas et que vous souhaitez lancer le serveur mpd avec votre compte habituel, cette méthode vous expliquera comment procéder.

Il est d'abord nécessaire de désactiver le service mpd qui est configuré lors de l'installation :

sudo update-rc.d -f mpd remove

Puis arrétez le service qui est actuellement lancé.

sudo /etc/init.d/mpd stop

Effectuez une copie du fichier de configuration dans votre dossier personnel et affectez lui les droits pour votre utilisateur:

sudo cp /etc/mpd.conf ~/.mpdconf
sudo chown utilisateur:utilisateur ~/.mpdconf

Créez les dossiers et fichiers nécessaires pour permettre a mpd de fonctionner :

mkdir -p ~/.mpd/playlists
cd ~/.mpd
touch mpd.log mpd.db mpd.error state

Modifiez les paramètres suivants dans le fichier ~/.mpdconf (pensez à adapter le chemin vers la racine de votre dossier de musiques) :

port			  "6600"
music_directory         "/dossier/contenant/votre/musique"
playlist_directory      "~/.mpd/playlists"
db_file                        "~/.mpd/mpd.db"
log_file                       "~/.mpd/mpd.log"
error_file                    "~/.mpd/mpd.error"
pid_file                       "~/.mpd/pid"
state_file                    "~/.mpd/state"

Trouvez la ligne ci dessous et commentez la (en faisant cela, mpd va se lancer avec le compte utilisateur courant)

user                            "mpd"

Le serveur est ensuite lancé avec la commande

mpd

Il est arrêté avec :

mpd --kill 

Vous pouvez ensuite construire votre bibliothèque musicale avec un client qui possède cette fonctionnalité ou avec la commande (uniquement pour les version 0.15.x, à partir des versions 0.16.x, cette commande n'existe plus, la base de donnée est créée au premier démarrage de mpd) :

mpd --create-db

Si vous ne souhaitez plus utiliser cette méthode et que vous voulez revenir a un service système, vous pouvez le réactiver avec la commande suivante :

sudo update-rc.d mpd start 30 2 3 4 5 . stop 14 0 1 6 .

Pour passer immédiatement de la méthode par utilisateur au service système lancez :

mpd --kill
sudo /etc/init.d/mpd start

Connexion en SSH : MPD + Client(s)

Je ne parlerai pas de la configuration de votre Tunnel SSH, vous trouverez toutes les informations nécessaires et plus encore ici.

La situation est celle-ci : une machine serveur faisant fonctionner MPD et une machine cliente. Par défaut, MPD écoute les connexions sur le port 6600. Il suffit donc d'établir une connexion SSH avec la machine cliente :

   ssh -L 6600:localhost:6600 utilisateur@hote

et de connecter vos clients MPD en localhost.

Configurer le serveur de streaming audio HTTP de MPD

MPD inclut depuis Karmic un serveur de streaming qui permet d'écouter sa musique sur un autre ordinateur ou un smartphone, en déplacement ou sous sa douche. voir la page dédiée :

configurer le serveur de streaming audio http de mpd

Lire de la musique présente sur la Freebox Révolution depuis son ordinateur via MPD

Prérequis : MPD fonctionnel et avoir monté le disque dur de la Freebox Révolution (Installation du disque réseau de la Freebox Server à chaque démarrage).

Créer un nouveau profil en indiquant

  • l'adresse IP de l'ordi (penser à lui attribuer une IP fixe)
  • Indiquer l'adresse du répertoire de musique sur la Freebox.

Exemple : avec l'interface graphique GMPC

Redémarrer MPD et mettez la base de données à jour.

Résolution de problèmes

Pas de son avec pulse

Dans le cas où vous utilisez le serveur de son pulse audio et un démon lancé avec l'user "mpd", il arrive que mpd fonctionne mais que vous n'entendiez rien. Aucun son ne sort. C'est parfois un comportement aléatoire. La solution réside dans les droits d'accès à pulse par mpd. L'user mpd doit appartenir aux groupes audio, pulse, pulse-acess. Entrez alors dans une console :

$ sudo gpasswd -a mpd pulse-access
$ sudo gpasswd -a mpd pulse
$ sudo gpasswd -a mpd audio

puis redémarrer mpd

sudo /etc/init.d/mpd restart

(il se peut qu'il faille redémarrer l'ordinateur pour recharger le profile de mpd et ses nouveaux groupes)

sur ce sujet voir ces topics sur ubuntugeek et mpd community wiki

Voir aussi

  • mpd.txt
  • Dernière modification: Le 28/04/2018, 11:22
  • (modification externe)