====== mpd - Installation, configuration et utilisation ======
* Objet : mpd - configuration
* Niveau requis : {{tag>avisé}}
* Commentaires : //La configuration de mpd dépend de la façon dont vous comptez vous en servir. //
* Suivi : {{tag>à-tester}}
* Création par [[user>enicar]] 02/10/2013
* Testé par <...> le <...>
* Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?pid=149450#p149450 | c'est ici]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
===== Installation =====
apt-get install mpd
Pour la configuration préconisée dans ce tuto, je recommande très vivement de désactiver
le lancement de **mpd** au démarrage du système :
Il faut d'abord stopper le daemon mpd qui a été lancé lors de l'installation :
**si vous utilisez //systemd//** :
systemctl stop mpd.socket
Et
systemctl stop mpd
update-rc.d mpd stop
Et ensuite le désactiver complètement :
systemctl disable mpd.socket
Et
systemctl disable mpd
**Si vous n'utilisez pas //systemd//** :
update-rc.d mpd disable
===== Configuration =====
La configuration de mpd dépend de la façon dont vous comptez vous en servir. \\
Je propose ici une configuration simple pour utiliser le daemon en tant que
simple utilisateur avec une sortie son vers une carte son gérée par pulseaudio
et une configuration alternative pour alsa.
D'abord il va falloir créer le répertoire(([[:doc:systeme:mkdir]])) pour mpd
dans votre répertoire ''/home''.
Dans un terminal user, depuis [[doc:programmation:shell:shell | un shell]] :
cd ~
et
mkdir .config/mpd
Ensuite vous pouvez copier le fichier de configuration fournit par debian dans /etc :
cp /etc/mpd.conf ~/.config/mpd/
Nous allons éditer((Voir : [[:doc:editeurs:nano]])) ce fichier
(''~/.config/mpd/mpd.conf'') pour y définir quelques options.
Le format de ce fichier est simple. Chaque ligne qui débute par un caractère #
est un commentaire et n'est donc pas lu pour être exécuté.
Les options sont de la forme :
option "valeur"
ou
option {
sous_option1 "valeur1"
sous_option2 "valeur2"
...
}
==== Répertoire musical ====
Mais avant toutes choses, il faut décider où vous allez mettre votre musique. \\
En effet, lorsque vous allez mettre la base de données de mpd à jour il ne va scanner qu'un répertoire et ses sous dossiers, récursivement. \\
Je vous suggère :
~/Musique/.
S'il n'existe pas créons d'abord ce répertoire :
mkdir ~/Musique/
Il se peut que ce répertoire existe déjà car c'est un répertoire standard pour
stocker la musique actuellement. Normalement, c'est le répertoire renvoyé par
xdg-user-dir MUSIC
==== Options ====
Voyons à présent les options du fichier de configuration.
Où est stocké votre musique : \\
(//Supposons que vous soyez l'utilisateur tartampion et que votre home soit// ''/home/tartampion'') ;-)
music_directory "/home/tartampion/Musique"
==== playlists ====
Où sont les playlists :
playlist_directory "/home/tartampion/.config/mpd/playlists"
Créons ce répertoire :
mkdir ~/.config/mpd/playlists
==== Base de données ====
La base de données est :
db_file "/home/tartampion/.config/mpd/tagcache"
==== Journal ====
Le journal :
log_file "/home/tartampion/.config/mpd/log
==== Identifiant numérique de mpd ====
Le fichier de pid :
pid_file "/home/tartampion/.config/mpd/pid
==== Statut ====
Le statut du daemon :
state_file "/home/tartampion/.config/mpd/state"
==== Information ====
Un fichier qui stocke des informations dynamiques au sujet du fichier qui est en train d'être joué :
sticker_file "/home/tartampion/.config/mpd/sticker.sql"
==== L'utilisateur de mpd ====
Le réglage de l'utilisateur doit être commenté. Nous avons copié
le fichier /etc/mpd.conf qui a été écrit pour démarrer mpd en tant que root et demander
à mpd de changer d'utilisateur une fois démarré. Ce réglage ne correspond pas du tout
à ce qu'on veut faire ici. C'est important, car on veut juste démarrer mpd directement
avec les droits de notre utilisateur et mpd ne pourra pas démarrer si on laisse
ce réglage.
Il faut commenter la ligne
user = "mpd"
Ce n'est pas du tout ce qu'on veut. Pour cela juste rajouter un #en tout début pour obtenir :
#user = "mpd"
==== Interface mpd ====
L'interface sur laquelle mpd reçoit les commandes. \\
Je vous suggère de restreindre cet accès.
Par défaut mpd écoute sur toutes les interfaces actives.
bind_to_address "localhost"
On peut aussi préciser le port sur lequel mpd écoute.
port "6600"
On peut aussi utiliser un socket unix, il suffit d'utiliser un nom de fichier
à la place d'une adresse ip
ou d'un nom d'hôte. Par exemple :
bind_to_address "/home/tartampion/.config/mpd/socket"
Dans ce cas l'option //port// n'est pas utilisée.
Il faut aussi configurer les clients avec la même adresse et le même
port, sinon ça ne marchera pas
==== Sortie audio ====
Configurons la sortie audio.
=== pulseaudio ===
De nos jours, c'est la configuration par défaut dans le fichier
que nous avons copié (/etc/mpd.conf). Donc en principe, il n'y a rien à faire.\\
Vérifiez quand même que vous avez la sortie activée, vous devriez trouver ceci :
audio_output {
type "pulse"
name "My Pulse Output"
# server "remote_server" # optional
# sink "remote_server_sink" # optional
}
Remarquez bien que pour la sous option « name », vous pouvez mettre le nom que
vous voulez.\\
Il y a dans ce fichier pas mal d'exemples de configuration pour diverses sorties audio qui sont mises en commentaires (toutes les lignes débutent par un #).
=== alsa ===
Pour utiliser alsa directement il faudra commenter la sortie audio pour
pulseaudio pour obtenir cela :
#audio_output {
# type "pulse"
# name "My Pulse Output"
## server "remote_server" # optional
## sink "remote_server_sink" # optional
}
On ajoute juste des # au début de chaque ligne.\\
Une configuration avec alsa :
audio_output {
type "alsa"
name "MPD alsa output"
# device "hw:0,0" # optional
# format "44100:16:2" # optional
# mixer_type "hardware" # optional
# mixer_device "default" # optional
# mixer_control "PCM" # optional
# mixer_index "0" # optional
}
Vous pouvez fixer aussi les sous options, device, format,.. \\
Mais en principe, de nos jours, on utilise un serveur de son comme pulseaudio
ou jackd, c'est pour cela que je ne m'y attarderai pas.
Dans ce cas c'est la configuration pour pulseaudio qui devra être
commentée.
Voilà, le serveur est configuré ! Il vous reste à garnir votre répertoire ~/Musique. \\
Je vous suggère d'adopter une organisation par répertoires du style : \\
''''/''''/''''.
En effet les clients pour mpd, utilisent cette méthode pour accéder aux fichiers. \\
Notons bien que ces clients permettent également d'accéder aux tags des fichiers mp3, ogg, flac,…
En réalité, c'est mpd qui construit une base de données avec ces tags et
l'endroit où se trouvent les fichiers.
On peut utiliser **mpd** sans client sur une machine, on peut alors contrôler
**mpd** depuis une autre machine. Mais je recommande plutôt, d'utiliser
un client local et un accès ssh pour accéder à ce client local.
On peut aussi utiliser **mpd** pour diffuser de la musique
en streaming. Il faut alors configurer **mpd** pour utiliser une sortie de type
icecast ou http. Des exemples sont fournis dans le fichier de configuration par
défaut, ils sont mis en commentaire. Recherchez, les options **audio_output**.
===== Démarrage =====
Normalement après avoir tout configuré mpd devrait démarrer automatiquement lors
de votre connexion à votre session graphique. C'est fait grâce au fichier :
/etc/xdg/autostart/mpd.desktop
Pour la plupart des gens, ce mode de fonctionnement suffira. Cela dit on peut vouloir
faire différemment, car dans ce mode de fonctionnement il démarrera à chaque nouvelle
session mais ne sera jamais arrêté. Une autre façon de faire est de démarrer mpd
à l'aide de systemd en tant qu'utilisateur. Pour ce faire il va d'abord falloir
dire au système d'autostart de ne pas démarrer mpd. On va donc créer un fichier
mpd.desktop
dans le répertoire ~/.config/autostart/
avec
le contenu suivant :
[Desktop Entry]
Hidden=true
Avec cela, mpd ne démarre plus avec une session graphique. Reste à le faire démarrer avec systemd.
C'est très simple. Il suffit de taper la commande suivante en étant **utilisateur** :
systemctl --user enable mpd
Et c'est tout ! Maintenant mpd sera démarré dès que vous vous connecterez, même avec une session texte
dans un tty. Il sera aussi arrêté dès que vous vous déconnecterez.
Merci à vv222 pour m'avoir indiqué cette façon de faire :-)