MPD
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
- 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 !