Music Player Daemon (Français)

État de la traduction:
Cet article est la version francophone de
Music Player Daemon
. Date de la dernière traduction: 2022-10-03. Vous pouvez aider à synchroniser la traduction s'il y a eu des
changements
dans la version anglaise.
Related articles
MPD/Tips and Tricks
MPD/Troubleshooting
MPD
(music player daemon) est un lecteur audio doté d'une architecture client-serveur.  Il lit des fichiers audio, organise des listes de lecture et maintient une base de données musicale, tout en utilisant très peu de ressources. Afin de s'interfacer avec lui, un
client
séparé est nécessaire.
Installation
Installez
le paquet
mpd
, ou
mpd-git
AUR
pour la version de développement.
Configuration
MPD peut fonctionner en mode
#Configuration par utilisateur
ou
#Configuration à l'échelle du système
(les paramètres s'appliquent à tous les utilisateurs). Il est également possible d'exécuter plusieurs instances de MPD dans une
#Configuration de Multi-MPD
.
Le mode de configuration de MPD dépend de la façon dont il est destiné à être utilisé : une configuration locale par utilisateur est plus facile à mettre en place et peut s'avérer plus adaptée sur un système de bureau. La configuration à l'échelle du système peut être plus adaptée à un serveur audio toujours actif avec plusieurs utilisateurs mais une instance MPD partagée.
Pour que MPD soit capable de lire de l'audio,
ALSA
, éventuellement avec
PulseAudio
ou
PipeWire
, doit être configuré et fonctionner. La section
#Configuration audio
ci-après décrit les paramètres nécessaires pour
ALSA
,
PulseAudio
ou
PipeWire
.
MPD est configuré dans le fichier
mpd.conf(5)
qui peut se trouver à différents endroits selon la configuration choisie (système ou par utilisateur). En résumé, les deux emplacements couramment utilisés sont :
~/.config/mpd/mpd.conf
en mode de configuration par utilisateur, c'est le premier emplacement recherché,
/etc/mpd.conf
en mode de configuration système.
Voici quelques-unes des options de configuration les plus couramment utilisées :
pid_file
- Le fichier où MPD stocke son ID de processus
db_file
- La base de données musicale
state_file
- L'état actuel de MPD est noté ici
playlist_directory
- Le répertoire dans lequel les listes de lecture sont enregistrées
music_directory
- Le répertoire dans lequel MPD recherche la musique
sticker_file
- La base de données des autocollants
Configuration par utilisateur
MPD peut être configuré par utilisateur. L'exécuter en tant qu'utilisateur normal présente les avantages suivants :
Regroupement dans un seul répertoire
~/.config/mpd/
(ou tout autre répertoire sous
$HOME
) tous les fichiers de configuration de MPD.
Éviter les erreurs imprévues de permission des répertoires et des fichiers.
Configurer l'emplacement des fichiers et des répertoires
En mode utilisateur, la configuration est lue depuis
$XDG_CONFIG_HOME/mpd/mpd.conf
.
Nous supposerons ici que
$XDG_CONFIG_HOME
est sa valeur par
défaut
de
~/.config
.
Pour construire la configuration utilisateur, l'
exemple de configuration MPD
inclus dans le paquet est un bon point de départ, copiez-le en utilisant les lignes suivantes :
$ mkdir ~/.config/mpd
$ cp /usr/share/doc/mpd/mpdconf.example ~/.config/mpd/mpd.conf
Une bonne pratique est d'utiliser ce répertoire nouvellement créé
~/.config/mpd/
pour stocker, avec le fichier de configuration, d'autres fichiers liés à MPD comme la base de données ou les listes de lecture. L'utilisateur doit avoir un accès en lecture et écriture à ce répertoire.
Ensuite, éditez le fichier de configuration afin de spécifier les fichiers et répertoires requis et optionnels :
~/.config/mpd/mpd.conf
# Recommended location for database
db_file            "~/.config/mpd/database"

# If running mpd using systemd, delete this line to log directly to systemd.
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"
Si les listes de lecture sont activées dans la configuration, le répertoire de listes de lecture spécifié doit être créé :
$ mkdir ~/.config/mpd/playlists
MPD peut maintenant être lancé (un emplacement personnalisé facultatif pour le fichier de configuration peut être spécifié) :
$ mpd
[fichier_de_configuration]
.
Afin de construire le fichier de base de données, MPD doit effectuer une recherche dans le
music_directory
défini ci-dessus. Pour demander cette tâche, l'un des
clients
de MPD doit être utilisé. Par exemple avec
mpc
la commande est :
$ mpc update
ou bien on peut définir l'option
auto_update
à
"yes"
dans la configuration pour rafraîchir la base de données chaque fois que des fichiers sont modifiés dans
music_directory
.
Configuration audio
Si
ALSA
est utilisé, l'
autodétection
du périphérique par défaut devrait fonctionner dès le départ sans réglage particulier. Si ce n'est pas le cas, la syntaxe pour la définition de la sortie audio ALSA est fournie par la suite ; le paramètre obligatoire
name
spécifie un nom unique pour la sortie audio.
Le périphérique exact tel qu'il est affiché à l'aide de
aplay --list-pcm
du paquet
alsa-utils
peut éventuellement être indiqué avec l'option
device
.
~/.config/mpd/mpd.conf
sortie_audio {
        type "alsa"
        name "
Carte son ALSA
"
        # Optional
        #device "
iec958:CARD=Intel,DEV=0
"
        #mixer_control "PCM"
}
Les utilisateurs de
PulseAudio
devront effectuer la modification suivante :
~/.config/mpd/mpd.conf
sortie_audio {
        type "pulse
        name "
pulse audio
"
}
La sortie audio avec
PipeWire
peut être également configurée :
~/.config/mpd/mpd.conf
sortie_audio {
        type "pipewire
        name "
PipeWire Sound Server
"
}
Démarrage automatique avec systemd
Le paquet
mpd
fournit un fichier de
service utilisateur
. Le service démarre le processus en tant qu'utilisateur, il n'est pas nécessaire de modifier les permissions ni d'utiliser les variables
user
et
group
dans le fichier de configuration MPD.
Démarrez
et
activez
l'unité utilisateur
mpd.service
(c'est-à-dire avec le paramètre
--user
).
Note
Le fichier de configuration est lu depuis
~/.config/mpd/mpd.conf
, consultez
Systemd (Français)#Modifier les unités fournies
si vous souhaitez indiquer un chemin de fichier de configuration personnalisé.
Démarrage automatique à la connexion du tty
Pour démarrer MPD à la connexion, ajoutez ce qui suit à
~/.profile
ou à un autre fichier
de démarrage automatique
:
# Démarrage du daemon MPD (si aucune autre instance utilisateur n'existe)
[ ! -s ~/.config/mpd/pid ] && mpd
Configuration scriptée
L'outil
mpd-configure
crée une configuration MPD optimisée pour la lecture audio
sans perte
, sans rééchantillonnage ni conversion, en utilisant l'adresse matérielle de l'interface ALSA (hw:x,y).
Configuration à l'échelle du système
Note
Les utilisateurs de PulseAudio avec une configuration MPD à l'échelle du système doivent implémenter une
solution de contournement
afin d'exécuter MPD en tant que son propre utilisateur !
Par défaut,
/etc/mpd.conf
conserve la configuration dans
/var/lib/mpd
qui est assignée à l'utilisateur ainsi qu'au groupe primaire MPD.
Répertoire de musique
Le répertoire de musique est défini par l'option
music_directory
dans le fichier de configuration
/etc/mpd.conf
.
MPD doit avoir les droits d'exécution sur
tous
les répertoires parents de la collection de musique et aussi les droits de lecture sur tous les répertoires contenant des fichiers de musique. Cela peut entrer en conflit avec la configuration par défaut du répertoire utilisateur, comme
~/Music
, où la musique est stockée.
Bien qu'il existe plusieurs solutions à ce problème, l'une d'entre elles devrait être la plus pratique :
Passez plutôt en mode
#Configuration par utilisateur
.
Ajoutez l'utilisateur
mpd
au groupe de l'utilisateur et accordez au groupe le droit d'exécuter le répertoire de l'utilisateur. De cette façon, l'utilisateur
mpd
a le droit d'ouvrir le répertoire utilisateur :
# gpasswd -a mpd
groupe_de_l'utilisateur
$ chmod 710 /home/
user_directory
(répertoire utilisateur)
Stockez la collection de musique dans un chemin différent, soit :
en la déplaçant entièrement,
avec un mount bind,
ou avec
Btrfs (Français)#Subvolumes
(vous devez rendre ce changement persistant avec une entrée dans
/etc/fstab
).
Le fichier de configuration MPD doit définir un seul répertoire de musique. Si la collection de musique est contenue dans plusieurs répertoires, créez des liens symboliques sous le répertoire de musique principal dans
/var/lib/mpd
. N'oubliez pas de définir les permissions en conséquence sur les répertoires liés.
Pour exclure un ou plusieurs fichiers de la mise à jour, créez un fichier appelé
.mpdignore
dans son répertoire parent. Chaque ligne de ce fichier peut contenir une liste de caractères génériques du shell. Les fichiers correspondants dans le répertoire actuel et tous les sous-répertoires sont alors exclus des mises à jour suivantes.
Note
MPD est capable de lire les fichiers musicaux dans certains formats d'archives et les ajoutera lors d'une mise à jour s'ils se trouvent dans le répertoire music ; tar est connu pour être une exception.
Démarrer avec systemd
MPD peut être contrôlé avec
mpd.service
et
systemd
. Le premier démarrage peut prendre un certain temps car MPD va scanner votre répertoire de musique.
Testez tout en démarrant une application client (
ncmpc
est un client léger et facile à utiliser), et jouez de la musique !
Activation de socket
mpd
fournit une unité
mpd.socket
. Si
mpd.socket
est activée (et
mpd.service
est désactivée), systemd ne lancera pas MPD immédiatement, il écoutera simplement les sockets appropriés. Ensuite, chaque fois qu'un client MPD tentera de se connecter à l'un de ces sockets, systemd lancera
mpd.service
et transmettra de manière transparente le contrôle de ces ports au processus MPD.
Si vous préférez écouter différents sockets UNIX ou ports réseau (même plusieurs sockets de chaque type), ou si vous préférez ne pas écouter les ports réseau du tout,
éditez
l'unité
mpd.socket
de manière appropriée
et
modifiez
/etc/mpd.conf
pour qu'elle corresponde à la configuration (consultez
mpd.conf(5)
pour plus de détails).
Processus de démarrage de mpd avec un id utilisateur
MPD ne doit jamais être exécuté en tant que
root
; vous pouvez utiliser l'option
user
dans la configuration pour que MPD change son identifiant après l'initialisation. N'utilisez pas cette option si vous démarrez MPD en tant qu'utilisateur non privilégié.
Pour décrire comment MPD abandonne ses privilèges de super-utilisateur et passe à ceux de l'utilisateur défini dans la configuration, les étapes d'un démarrage normal de MPD sont listées ci-après :
MPD étant démarré en tant que
root
par systemd, il lit d'abord le fichier
/etc/mpd.conf
.
MPD lit la variable
user
dans la configuration, et passe de
root
à cet utilisateur.
MPD lit ensuite le reste du fichier de configuration et se configure en conséquence. L'utilisation de
~
dans le fichier de configuration pointe vers le répertoire de l'utilisateur principal, et non vers le répertoire de root.
Configuration de Multi-MPD
Exécution d'un serveur Icecast
Pour un deuxième MPD (par exemple avec une sortie
Icecast
pour partager de la musique sur le réseau) utilisant la même musique et la même liste de lecture que celui ci-dessus, il suffit de copier le fichier de configuration ci-dessus et de créer un nouveau fichier (par ex,
/home/username/.mpd/config-icecast
) et ne modifiez que les paramètres
log_file
,
error_file
,
pid_file
et
state_file
(par exemple,
mpd-icecast.log
,
mpd-icecast.error
, etc.) L'utilisation des mêmes chemins de répertoire pour les répertoires de musique et de liste de lecture garantit que ce second MPD utilise la même collection de musique que le premier, c'est-à-dire que la création et la modification d'une liste de lecture sous le premier daemon affectent également le second daemon. Les utilisateurs n'ont pas besoin de créer à nouveau les mêmes listes de lecture pour le second daemon. Appelez ce second daemon de la même manière qu'avec
~/.xinitrc
ci-dessus - mais assurez-vous d'avoir un numéro de port différent, pour éviter un conflit avec le premier daemon MPD.
Configuration du satellite
La méthode décrite dans
#Exécution d'un serveur Icecast
fonctionne, mais au moins en théorie, elle peut entraîner des problèmes avec la base de données, lorsque deux instances MPD essaient d'écrire simultanément dans le même fichier de base de données. MPD dispose d'un
mode satellite
dans lequel une instance peut recevoir la base de données d'une instance MPD déjà en cours d'exécution.
Dans votre
config-icecast
, ajoutez ceci, où l'hôte et le port reflètent votre serveur MPD principal :
database {
    plugin "proxy"
    host "localhost"
    port "6600"
}
Clients
Un client séparé est nécessaire pour contrôler MPD. Vous pouvez consulter une longue liste de clients sur le site
mpd website
. Les options populaires sont :
Ligne de commande
mpc
— Interface utilisateur en ligne de commande pour le serveur MPD écrite en C.
https://www.musicpd.org/clients/mpc/
||
mpc
Console
clerk
— Client MPD utilisant
Rofi
.
https://github.com/carnager/clerk
||
clerk-git
AUR
FMUI
— Console interface utilisateur créée avec
fzf
et mpc.
https://github.com/seebye/fmui
||
fmui-git
AUR
[
broken link
: package not found]
ncmpc
— Client en ncurses pour MPD écrit en C++.
https://www.musicpd.org/clients/ncmpc/
||
ncmpc
ncmpcpp
— Clone presque exact de
ncmpc
, écrit en C++ avec quelques fonctionnalités supplémentaires (éditeur de balises, moteur de recherche).
https://rybczak.net/ncmpcpp/
||
ncmpcpp
ncmpy
— Client MPD basé sur curses et écrit en Python.
https://repo.cykerway.com/ncmpy
||
ncmpy
AUR
nncmpp
— Encore un autre client MPD. Il s'agit en fait d'une version TUI simplifiée de Sonata.
https://git.janouch.name/p/nncmpp/
||
nncmpp-git
AUR
pms
— Client ncurses hautement configurable et accessible écrit en Go.
https://ambientsound.github.io/pms/
[
dead link
2023-10-29—HTTP 404]
||
pmus-git
AUR
vimpc
— Client MPD basé sur ncurses avec des raccourcis clavier de type vi.
https://github.com/boysetsfrog/vimpc
||
vimpc-git
AUR
gomp
— Client MPD inspiré de ncmpcpp avec affichage intégré de la couverture et intégration de LastFM.
https://github.com/aditya-K2/gomp
||
gomp-git
AUR
Graphique
Ario
— Un client GUI GTK3 très riche en fonctionnalités pour MPD, inspiré de
Rhythmbox
.
https://ario-player.sourceforge.net/
||
ario
Cantata
— Client Qt5 riche en fonctionnalités pour MPD avec une interface très configurable.
https://github.com/CDrummond/cantata
||
cantata
AUR
CoverGrid
— Client GUI GTK3 se concentrant sur les albums plutôt que sur les pistes individuelles.
https://www.suruatoel.xyz/codes/mcg
||
mcg
AUR
GMPC
— Gnome Music Player Client. Interface GTK pour MPD. Elle est conçue pour être légère et facile à utiliser, tout en offrant un accès complet à toutes les fonctionnalités de MPD. Les utilisateurs disposent de plusieurs méthodes différentes pour naviguer dans leur musique. Il peut être étendu par des plugins, dont beaucoup sont disponibles.
https://github.com/DaveDavenport/gmpc
||
gmpc
AUR
[
broken link
: package not found]
mpdevil
— Un petit client GTK MPD écrit en python.
https://github.com/SoongNoonien/mpdevil
||
mpdevil
AUR
[
broken link
: package not found]
pymp'd
— Un client avec une interface GTK pour le daemon de lecture de musique MPD.
https://pympd.sourceforge.net
||
pympd
AUR
[
broken link
: package not found]
QMPDClient
— Qt5 GUI client.
https://bitcheese.net/QMPDClient/
|| {AUR}}
Quimup
— Frontend Qt5 simple pour MPD écrit en C++.
https://sourceforge.net/projects/quimup/
||
quimup
AUR
RompЯ
— Client Web pour MPD.
https://fatg3erman.github.io/RompR/
||
rompr
AUR
SkyMPC
— Client MPD simple, optimisé par Qt5.
https://github.com/soramimi/SkyMPC
||
skympc-git
AUR
Sonata
— Client Python élégant en GTK.
https://www.nongnu.org/sonata/
||
sonata-git
AUR
Xfce MPD Panel Plugin
— Plugin MPD pour le pannel de
Xfce
4
https://goodies.xfce.org/projects/panel-plugins/xfce4-mpc-plugin
||
xfce4-mpc-plugin
Xfmpc
— Client graphique GTK MPD axé sur un faible encombrement.
https://goodies.xfce.org/projects/applications/xfmpc
||
xfmpc
ympd
— Standalone MPD Web GUI écrite en C, utilisant Websockets et Bootstrap/JS.
https://ympd.org/
||
ympd
AUR
Ymuse
— Front-end (client) GTK facile, fonctionnel et accrocheur pour Music Player Daemon écrit en Go.
https://yktoo.com/en/software/ymuse/
||
ymuse
AUR
Voir aussi
Forum MPD
[
dead link
2025-08-16—SSL error]
Manuel de l'utilisateur MPD
MPD article Wikipedia
Dépôt GitHub de MPD
.
mopidy
est une alternative à MPD écrite en Python. Notez qu'il ne s'agit pas d'un remplacement complet de MPD, son avantage est qu'il dispose de plug-ins pour lire de la musique à partir de services «cloud» comme Spotify, SoundCloud et Google Play Music.