Ceci est une ancienne révision du document !
MPD, Music Player Daemon
MPD est un lecteur de musique utilisant une architecture client-serveur. Le serveur va agir en tant que daemon (ou service) et s'occuper de lire la musique sur l'ordinateur sur lequel il est installé et garder en mémoire la liste de lecture. Les clients mpd permettent de construire sa playlist, de la contrôler et de voir les morceaux joués. Il n'est pas obligatoire que le client soit lancé pour que mpd puisse continuer a fonctionner normalement. Il est aussi possible d'ouvrir plusieurs clients simultanément sur autant de machines qu'on le souhaite. Les avantages liés a un tel fonctionnement sont entre autre la légèreté du programme puisque seul le serveur doit être actif pour jouer la musique et la modularité des clients puisqu'ils sont indépendants. Il existe des dizaines de clients différents et ceci sur des plate-formes extrêmement variées; des outils en ligne de commande aux interfaces graphiques plus ou moins complètes en passant par les librairies permettant de piloter mpd via une page web ou les applications pour téléphone portable.
Installation & Configuration
Il vous faut maintenant éditer le fichier de configuration /etc/mpd.conf :
Si vous souhaitez que votre serveur mpd ne soit pas limité a la machine hôte, commentez la ligne
bind_to_address "localhost"
Si vous utilisez alsa+dmix
mixer_type "alsa" mixer_device "dmix" mixer_control "PCM"
Il vous faut maintenant redémarrer mpd pour que les modifications prennent effets.
sudo /etc/init.d/mpd restart
Ou pour créer ou mettre a jour votre bibliothèque musicale, si votre client ne le permet pas :
sudo /etc/init.d/mpd force-restart
Vous pouvez suivre la progression de la création de la bibliothèque dans le log grâce à cette commande :
tail -f /var/log/mpd/mpd.log
Configuration de MPD avec PulseAudio (sous Hardy et Intrepid)
Pour configurer votre client sous PulseAudio, il faut premièrement installer le gestionnaire de configuration de PulseAudio :
sudo apt-get install paprefs
Puis lancez le :
paprefs
Cochez ensuite : - Enable network access to local sound devices et - Don't require authentication
Nous allons ensuite modifier mpd.conf :
sudo nano /etc/mpd.conf
Dans la section Audio Output, il faut simplement mettre ces deux lignes à audio_output (en prenant bien soins de mettre en commentaire les anciennes sorties audio ALSA/OSS) :
audio_output { type "pulse" name "My MPD PulseAudio Output" } mixer_type "software"
la dernière ligne permet de contrôler le volume.
Finalement redémarrez MPD pour prendre en compte la nouvelle configuration :
sudo /etc/init.d/mpd restart
Allez jeter un coup d'oeil à la section "Les principaux clients" ou sur le site officiel pour vous choisir un client
Astuces
- Pour éviter les coupures des titres, enlevez les tags ID3v1 de vos musiques (facile à faire avec easytag)
- Pour utiliser Audioscrobbler avec mpd, il existe plusieurs solutions : mpdscribble (disponible dans le dépôt Universe (Dapper)), mpdscrobbler (script python, visiblement plus maintenu) remplaçable par scrobd, et enfin scrobby par l'auteur du client mpd ncmpcpp.
Configuration du Control du Volume avec Alsamixer (sous Hardy )
Ce qui suit décrit comment configurer Mpd et alsamixer pour pouvoir contrôler le volume de Mpd et pas des autres sons du système.
1- Créer/Éditer /etc/asound.conf
Premièrement, les lignes suivantes sont requises dans /etc/asound.conf. Notez bien que le mixeur logiciel mpdvol avec le nom "MPD" sera utilisé quand vous éditerez le fichier /etc/mpd.conf.
# the sound card pcm.real { type hw card 0 device 0 } # the ipc stuff is needed for permissions, etc. pcm.dmixer { type dmix ipc_key 1024 ipc_perm 0666 slave.pcm "real" slave { period_time 0 period_size 1024 buffer_size 8192 rate 44100 } bindings { 0 0 1 1 } } ctl.dmixer { type hw card 0 } # software volume pcm.softvol { type softvol slave.pcm "dmixer" control { name "Software" card 0 } } # mpd volume control pcm.mpdvol { type softvol slave.pcm "dmixer" control { name "MPD" card 0 } } # ctrl for mpd volume ctl.mpdvol { type hw card 0 } # input pcm.input { type dsnoop ipc_key 3129398 ipc_key_add_uid false ipc_perm 0660 slave.pcm "810" } # duplex device pcm.duplex { type asym playback.pcm "softvol" capture.pcm "input" } # default devices pcm.!default { type plug slave.pcm "duplex" } # for oss devices pcm.dsp0 { type plug slave.pcm "duplex" }
2- Modifier /etc/mpd.conf
Certaines modifications doivent être apportées au fichier /etc/mpd.conf.
Dans la section Audio output, ajoutez les lignes suivantes :
audio_output { type "alsa" name "Alsa Software Volume" device "mpdvol" }
Dans la section Volume control mixer, modifiez les valeurs comme ceci :
mixer_type "alsa" mixer_device "mpdvol" mixer_control "MPD"
il ne vous restera qu'à relancer MPD via la commande :
sudo /etc/init.d/mpd restart
et vous devriez pouvoir contrôler le Volume a partir de Mpd, enfin de ses clients. Source : http://mpd.wikia.com/wiki/Configuration
Utiliser mpd avec un compte utilisateur sans privilèges
Si la configuration par défaut de mpd ne vous conviens pas et que vous souhaitez lancer le serveur mpd avec votre compte habituel, cette méthode vous expliquera comment procéder.
Il est d'abord nécessaire de désactiver le service mpd qui est configuré lors de l'installation :
sudo update-rc.d -f mpd remove
Puis arrétez le service qui est actuellement lancé.
sudo /etc/init.d/mpd stop
Effectuez une copie du fichier de configuration dans votre dossier personnel et affectez lui les droits pour votre utilisateur:
sudo cp /etc/mpd.conf ~/.mpdconf sudo chown utilisateur:utilisateur ~/.mpdconf
Créez les dossiers et fichiers nécessaires pour permettre a mpd de fonctionner :
mkdir -p ~/.mpd/playlists cd ~/.mpd touch mpd.log mpd.db mpd.error state
Modifiez les paramètres suivants (pensez à adapter le chemin vers la racine de votre dossier de musiques) :
port "6600" music_directory "/dossier/contenant/votre/musique" playlist_directory "~/.mpd/playlists" db_file "~/.mpd/mpd.db" log_file "~/.mpd/mpd.log" error_file "~/.mpd/mpd.error" pid_file "~/.mpd/pid" state_file "~/.mpd/state"
Trouvez la ligne ci dessous et remplacez mpd par le nom de votre utilisateur
user "mpd"
Le serveur est ensuite lancé avec la commande
mpd
Il est arrêté avec :
mpd --kill
Vous pouvez ensuite construire votre bibliothèque musicale avec un client qui possède cette fonctionnalité ou avec la commande :
mpd --create-db
Si vous ne souhaitez plus utiliser cette méthode et que vous voulez revenir a un service système, vous pouvez le réactiver avec la commande suivante :
sudo update-rc.d mpd start 30 2 3 4 5 . stop 14 0 1 6 .
Pour passer immédiatement de la méthode par utilisateur au service système lancez :
mpd --kill sudo /etc/init.d/mpd start
Connexion en SSH : MPD + Client(s)
Je ne parlerai pas la configuration de votre Tunnel SSH, vous trouverez toutes les informations nécessaires et plus encore ici.
La situation est celle-ci : une machine possédant le serveur Mpd et une machine cliente. Par défaut, Mpd écoute les connexions sur le port 6600. il suffit donc, d'établir une connexion SSH comme ceci :
ssh -L 6600:localhost:6600 utilisateur@hôte
et de connecter vos clients Mpd en localhost.
Configurer le serveur de streaming audio HTTP de MPD
MPD inclut depuis Karmic un serveur de streaming qui permet d'écouter sa musique sur un autre ordinateur ou un smartphone, en déplacement ou sous sa douche. voir la page dédiée :
Les principaux clients
gmpc (Gnome Music Player Client)
Possibilités
- Supporte la sauvegarde et la création de playlists
- Permet de naviguer dans la bibliothèque de musique disponible
- Basé sur les informations des tag ID3
- Permet des recherches variées, dans les artistes, albums, titres et noms de fichiers
- Un affichage dans la zone de notification
Screenshots
Ario
Possibilités
- Permet la navigation dans la bibliothèque
- Permet la navigation dans le système de fichiers
- Téléchargement de pochettes d'albums et de paroles de chansons
- Supporte la sauvegarde et la création de playlists
- Permet des recherches variées, dans les artistes, albums, titres et noms de fichiers
- Un affichage dans la zone de notification
- Extensible par plugin
- Plugin audioscrobbler
- Playlist dynamique avec LastFm
- Edition des tags
Screenshots
ncmpc (NCurse Music Player Client) [Vieux et plus trop mis à jour]
Screenshots
ncmpcpp (pareil que précédemment, mais en C++ et en plus mieux bien. Plein de fonctionnalités en plus)
Screenshots
Sonata
Possibilités
- Supporte la sauvegarde et la création de playlists
- Permet de naviguer dans la bibliothèque de musique disponible (selon les fichiers, les albums ou les artistes)
- Basé sur les informations des tag ID3
- Permet des recherches variées, dans les artistes, albums, titres, genres et noms de fichiers
- Gére le streaming de radios via le net
- Un affichage optionnel dans la zone de notification lors du changement de musique
- Recherche les pochettes (local puis net)
- Sait se faire discret (une seule icône sur la zone de notification)
Screenshots
Emphasis
Client utilisant les librairies ETK, plus particulièrement destiné aux utilisateurs d'enlightenment. Pas encore disponible dans les dépôts, vous aurez à le compiler
Possibilités
- Supporte la sauvegarde et la création de playlists
- Permet de naviguer dans la bibliothèque de musique disponible (selon les fichiers, les albums ou les artistes)
- Basé sur les informations des tag ID3
- Permet des recherches variées, dans les artistes, albums, titres, genres et noms de fichiers
- Recherche les pochettes (local puis net)
- Permet la création de playlists
- Affichage des paroles à venir