Music Player Daemon (Français)
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 (en ligne de commande ou graphique) 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.
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: mpc.
- 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… ncmpc
- Ncmpcpp un client curse en C++. ncmpcpp
- Clients graphiques
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
MPD est capable de fonctionner avec une configuration par utilisateur ou avec une configuration à l'échelle du système (les paramètres s'appliquent alors à tous les utilisateurs). Il est également possible d'exécuter plusieurs instances de MPD. Le choix repose sur la manière dont il est destiné à être utilisé: une configuration locale par utilisateur est plus facile à configurer et peut s'avérer plus adaptée pour un environnement de bureau.
Quoi qu'il en soit, la configuration se fait au niveau d'un fichier mpd.conf:
-
~/.config/mpd/mpd.conf
dans le cadre d'une configuration par utilisateur -
/etc/mpd.conf
pour une configuration système
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
.
Par utilisateur
L'utilisateur pourra s'appuyer sur le fichier exemple (une bonne pratique consiste à utiliser le répertoire ~/.config/):
$ mkdir ~/.config/mpd $ cp /usr/share/doc/mpd/mpdconf.example ~/.config/mpd/mpd.conf
Voici tout de même un exemple minimal de ~/.config/mpd.conf
:
~/.config/mpd.conf
# Recommended location for database db_file "~/.config/mpd/database" # Logs to systemd journal log_file "syslog" # The music directory is by default the XDG directory, uncomment to amend and choose a different directory #music_directory "~/music" # Uncomment to refresh the database whenever files in the music_directory are changed #auto_update "yes" # Uncomment to enable the functionalities #playlist_directory "~/.config/mpd/playlists" #pid_file "~/.config/mpd/pid" #state_file "~/.config/mpd/state" #sticker_file "~/.config/mpd/sticker.sql"
Vous devez configurer au minimum :
-
music_directory
: le répertoire où vous stockez votre musique
-
playlist_directory
le répertoire où mpd enregistre ses playlists. Doit exister.
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
A l'échelle du système
La configuration se passe au niveau de /etc/mpd.conf
.
Si le répertoire est situé chez un utilisateur, le plus simple consisterait à passer à une configuration par utilisateur... Sinon il faut jouer sur les groupes de l'utilisateur et adapter les droits sur le répertoire de musique en question (via le groupe mpd) ou stocker la musique ailleurs.
Pour une installation multi-MPD (serveur icecast)
cf. wiki Arch (en).
Démarrer le tout
Configuration par utilisateur
Une fois MPD configuré, vous pouvez le lancer par la simple commande : mpd
(ou via un fichier d'autostart à la connexion, cf. wiki (en)) ou avec le service mpd (ce service spécifique est à lancer par l'utilisateur même):
$ systemctl --user start mpd
Vous pouvez aussi démarrer le daemon au démarrage:
$ systemctl --user enable mpd
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 avec l'option auto_update "yes"
).
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.
Configuration système
Utilisez le service mpd système:
systemctl start mpd
systemctl enable mpd
Client
Dès lors que le serveur mpd est démarré, il ne vous reste plus qu'à utiliser le client qui vous convient. :)
Liens utiles
- Manuel MPD (en)