MPD

De ArchwikiFR

Sommaire

Introduction

Music Player Daemon, ou MPD, est un serveur permettant de lire des fichiers musicaux. Il tient à jour le dossier de musique, les playlists et joue la musique, et nécessite un client pour gérer l'interface du serveur. Un des intérêts est par exemple de pouvoir écouter de la musique depuis un autre ordinateur, voire diffuser de la musique en streaming (cf la page créer une webradio avec MPD et Icecast).

Installation

Serveur

Pour le serveur, installez le paquet mpd :

pacman -S mpd

Clients

Il existe de nombreux clients, notamment :

  • Clients console
    • MPC (Music Player Client) qui fonctionne en ligne de commande et non interactif
    • ncmpc qui utilise la bibliothèque ncurses et qui permet de manipuler le serveur depuis une console via une interface graphique en mode texte — très utile pour se remonter le moral lorsque tout est a moitié cassé et qu'on a plus de serveur graphique…
    • Ncmcpp un client curse en C++.
  • Clients graphiques
    • Gmpc, un client simple pour Gnome, qui utilise Gtk+,
    • Sonata, un client GTK en python,
    • Ario, un autre.

Et pleins d'autres encore, pour diverses plateformes (android,...) ici (en).

Installez le client de votre choix. Il peut être utile d'installer les clients en mode texte mpc et ncmpc, ils ne prennent pas beaucoup de place et peuvent toujours servir…

pacman -S mpc ncmpc

Configuration du serveur

Vous pouvez choisir d'utiliser le serveur avec vos propres droits utilisateurs par la commande mpd, auquel cas le fichier de configuration (à créer) sera ~/.mpdconf. Vous pouvez également opter pour le service, auquel cas le fichier de configuration sera /etc/mpd.conf. Pour voir toutes les options, consultez la page de manuel : man mpd.conf. Il existe également un fichier exemple décemment documenté, /usr/share/doc/mpd/mpdconf.example.

Voici tout de même un exemple minimal de ~/.mpdconf (n'oubliez pas de mkdir ~/.mpd avant de simplement lancer mpd — et ignorez l'erreur) :

music_directory		"~/musique"
playlist_directory "~/.mpd/playlists"
db_file "~/.mpd/mpd.db"
log_file "~/.mpd/mpd.log"
pid_file "~/.mpd/mpd.pid"
state_file "~/.mpd/mpdstate"

bind_to_address		"127.0.0.1"
port				"6600"

audio_output {
 type		"alsa"
 name		"ALSA Device"
}


Le port spécifié sera utilisé pour les dialogues entre le client et le serveur, c'est-à-dire pour envoyer des commandes à MPD (ajout dans la playlist, lecture, etc.) par le client. MPD et ses clients utilisent par défaut le port 6600, si vous le modifiez vous devrez également spécifier le port au niveau du client. Vous pouvez aussi utiliser un socket unix. Par exemple avec ncmpc, les trois commandes suivantes permettent de se connecter respectivement en simple auditeur, en utilisateur authentifié et en utilisateur authentifié sur un port alternatif (6666 au lieu de 6600, à préciser dans le fichier de configuration de MPD) :

 ncmpc 
 ncmpc --password abc
 ncmpc --password abc --port 6666

Vous devez configuer au minimum :

  • music_directory : le répertoire où vous stockez votre musique
Astuce: Assurez vous que l’utilisateur sous lequel MPD fonctionne possède les droits de lecture !
  • playlist_directory le répertoire où mpd enregistre ses playlists. Doit exister.
  • audio_output  : dé-commentez le bloc correspondant à la sortie qui vous convient (Alsa,Pulseaudio,...).


Pour utiliser d'autres fonctionnalités, référez-vous à la page du manuel, qui détaille toutes les options possibles. La page Créer une webradio avec MPD et Icecast décrit également comment utiliser MPD pour lire de la musique depuis un autre ordinateur.

Démarrer le tout

Une fois MPD configuré, vous pouvez le lancer par la simple commande : mpd, ou avec le script de lancement du [[Services|service] :

systemctl start mpd

Il peut être judicieux de le lancer dés le démarrage de votre session, par exemple en mettant cette commande dans votre fichier ~/.Xsession(si vous l'utilisez) ou dans la configuration de votre gestionnaire de bureau. Il peut être utile de lancer également le client choisi au démarrage.

Vous pouvez aussi démarrer le démon au démarrage:

systemctl enable mpd

(pensez à créer un lien /etc/mpd.conf qui pointe vers votre fichier de configuration personnel si vous n'avez pas modifié directement le fichier /etc/mpd.conf).

MPD accède à un dossier où la musique est stockée (option de configuration music_directory), mais afin d'éviter de tout avoir à re-parcourir, les données concernant les morceaux qui y figurent sont placées dans une base de donnée (directive db_file). Lorsque vous touchez à votre dossier de musique, il vous faut donc remettre à jour la base de donnée. Cela se fait directement avec le client (ou au démarrage du serveur). Par exemple dans gmpc, une option permettant de remettre à jour la base de donnée est proposée dans le menu contextuel lors de l'ouverture d'un dossier.

Trucs et astuces pour MPD

Activer l'auto-complétion pour mpc

Pour ceux qui n'utilisent pas d'interface graphique et qui sont rebutés par ncmpc, il est utile voir vital de disposer de l'auto-complétion des commandes (vous savez cette petites touches <tab> que le monde nous envie ?). Sur toutes les autres distributions, cela passe par le fichier mpc-bashrc. Toutes, sauf chez nous, où l'on retrouvera l'équivalence de ce fichier dans le répertoire /etc/bash_completion.d sous le doux nom de mpc pour activer l'auto-complétion, dès lors, rien de plus simple.

cat /etc/bash_completion.d/mpc >> ~/.bashrc

Il se peut aussi que vous désiriez régler mpc, par exemple si vous n'utilisez pas la boucle localhost pour héberger votre serveur mpd. Dans ce cas éditez le fichier .bashrc. repérez les lignes :

export MPD_HOST=""
export MPD_PORT="6600"

Retirer les dièses qui les commentent et remplissez-les avec le nom du serveur et le port à écouter.

Utiliser une playlist dynamique

La liste de lecture dynamique est devenue une fonctionnalité appréciée des lecteurs de musique. MPD ne propose pas cette fonction de liste intelligente et tout le monde ne se sent pas une âme de DJ. Certains clients MPD tels que gmpc permettent de remplir des listes de lecture suivant certains critères, mais la liste de lecture reste établie une fois pour toute.

Amarok, exaile, listen disposent, quant à eux, d'un système de listes basées sur les recommandations de last-fm. De base, MPD ne propose pas cette fonctionnalité, mais il existe un script qui s'en occupe : "mpd-add-similar" disponible sur AUR.

Ce script vous rajoutera 20 chansons par titre joué. Il est possible de changer le nombre de chansons à charger, directement dans le script.

Bonne écoute !

Liens utiles

Outils personnels
Autres langues