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
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épertoire2) pour mpd
dans votre répertoire /home
.
Dans un terminal user, depuis 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 éditer3) 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" ... }
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
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"
Où sont les playlists :
playlist_directory "/home/tartampion/.config/mpd/playlists"
Créons ce répertoire :
mkdir ~/.config/mpd/playlists
La base de données est :
db_file "/home/tartampion/.config/mpd/tagcache"
Le journal :
log_file "/home/tartampion/.config/mpd/log
Le fichier de pid :
pid_file "/home/tartampion/.config/mpd/pid
Le statut du daemon :
state_file "/home/tartampion/.config/mpd/state"
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"
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"
L'interface sur laquelle mpd reçoit les commandes.
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.
Configurons la sortie audio.
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 #).
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.
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 :
<groupe_ou_chanteur>
/<album>
/<fichiers_musicaux>
.
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.
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