Music Player Daemon (Français)
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.
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 :
- - Le fichier où MPD stocke son ID de processus
- - La base de données musicale
- - L'état actuel de MPD est noté ici
playlist_directory
- Le répertoire dans lequel les listes de lecture sont enregistrées- - 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 (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 . Nous supposerons ici que est sa valeur par défaut de .
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éé 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 :
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 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 à dans la configuration pour rafraîchir la base de données chaque fois que des fichiers sont modifiés dans .
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 spécifie un nom unique pour la sortie audio. Le périphérique exact tel qu'il est affiché à l'aide de du paquet alsa-utils peut éventuellement être indiqué avec l'option .
Les utilisateurs de PulseAudio devront effectuer la modification suivante :
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 et dans le fichier de configuration MPD.
Démarrez et activez l'unité utilisateur (c'est-à-dire avec le paramètre --user
).
Démarrage automatique à la connexion du tty
Pour démarrer MPD à la connexion, ajoutez ce qui suit à 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
Par défaut, /etc/mpd.conf
conserve la configuration dans 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 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 , 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'utilisateurmpd
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)#Sous-volumes (vous devez rendre ce changement persistant avec une entrée dans ).
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 . 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é 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.
Démarrer avec systemd
MPD peut être contrôlé avec 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é . Si est activée (et 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 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é 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 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 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.
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, ) et ne modifiez que les paramètres , , et (par exemple, , 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 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 :
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
Console
- nncmpp — Encore un autre client MPD. Il s'agit en fait d'une version TUI simplifiée de Sonata.
Graphique
- Ario — Un client GUI GTK3 très riche en fonctionnalités pour MPD, inspiré de Rhythmbox.
- QMPDClient — Qt5 GUI client.
- https://bitcheese.net/QMPDClient/ || {AUR}}
- Xfce MPD Panel Plugin — Plugin MPD pour le pannel de Xfce4
Voir aussi
- Forum MPD
- Manuel de l'utilisateur MPD
- MPD article Wikipedia
- Dépôt GitHub de MPD.
- 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.