Ceci est une ancienne révision du document !
MPD, Music Player Daemon
MPD est un lecteur 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. Le client est facultatif il ne sert qu'à la communication avec le serveur. 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, la modularité des clients puisqu'ils sont indépendants, il en existe des graphiques ou textes dans beaucoup de langages différents. MPD utilise une base de données pour stocker les musiques disponibles.
Installation & Configuration
Ensuite, il faut créer le fichier de configuration :
sudo dpkg-reconfigure mpd
Répondez oui à la première question, la deuxième phase consiste à indiquer le répertoire où sont situés vos musiques (si vous avez plusieurs répertoires, faites un lien symbolique vers le répertoire principal) et où stocker les playlists créés par le(s) utilisateur(s), vous pouvez laisser le port par défaut et répondez finalement oui à l'ultime question.
Il vous faut maintenant éditer le fichier de configuration /etc/mpd.conf :
commentez la ligne
user "mpd"
et éventuellement bind_to_address "localhost"
Vous pouvez restreindre ce comportement en modifiant le fichier /etc/mpd.conf pour qu'il utilise votre propre compte ou en rajoutant le fichier .mpdconf dans votre home (voir plus)
Créer des dossiers vides dans /home/walter/mpd (par exemple) et remplacez les chemins par les vôtres. Remplacez ensuite "walter" par votre nom d'utilisateur.
music_directory "/home/walter/musique_de_walter" #dossier playlist_directory "/home/walter/mpd/playlists" #dossier db_file "/home/walter/mpd/tag_cache" #fichier log_file "/home/walter/mpd/mpd.log" #fichier error_file "/home/walter/mpd/errors.log" #fichier pid_file "/home/walter/mpd/pid" #fichier (...)\\ user "walter"
http://fluoblog.wordpress.com/2008/02/13/mpd-music-player-daemon-conf/
Ajoutez également, si vous utilisez esound, la ligne
ao_driver "esd"
Ou si vous utilisez alsa+dmix mixer_type "alsa"
mixer_device "dmix" mixer_control "PCM"
Avec Alsa sous Hardy utilisez plutôt:
ao_driver "alsa09"
Il vous faut maintenant redémarrer mpd pour que les modifications prennent effets.
sudo /etc/init.d/mpd restart
Pour finir il faut que mpd crée la base de données des musiques diponibles
sudo mpd --create-db /etc/mpd.conf
Si vous souhaitez suivre la progression de la création de la base de données, vous pouvez suivre les logs grâce à cette commandes :
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
Ensuite, les lignes suivantes ont besoin d'être modifiées dans /etc/mpd.conf.
Premièrement dans la section AUDIO OUTPUT rajoutez les lignes suivantes :
# MPD MIXER audio_output { type "alsa" name "Alsa Software Volume" device "mpdvol" }
Ensuite, dans la section MIXER ajoutez ou modifiez la section alsa comme ceci :
#MPD MIXER 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
Méthode alternative d'installation & de configuration
La principale différence avec la première installation proposée est que nous n'avons pas recours à l'utilisateur root : nous n'utilisons qu'un fichier de configuration situé dans le dossier utilisateur (/home/user/).
Installez MPD grace à la commande :
sudo apt-get install mpd
Puis assurez vous qu'aucune instance de Mpd n'est lancée (cela peut arriver lors de l'installation) en tuant le processus :
sudo killall -9 mpd
Déplacez le fichier de config dans votre home :
sudo mv /etc/mpd.conf ~/.mpdconf
Puis modifiez les paramètres suivants (pensez à adapter le chemin vers la racine de votre dossier de musiques) :
port "6600" music_directory "/dossier/racine/de/votre/musique" playlist_directory "~/.mpd/playlists" db_file "~/.mpd/mpd.db" log_file "~/.mpd/mpd.log" error_file "~/.mpd/mpd.error"
Commentez cette ligne :
user "mpd"
Créez les répertoires .mpd et playlists qui apparaissent dans le fichier précédent :
mkdir ~/.mpd ~/.mpd/playlists
Il suffit ensuite de créer votre bibliothèque musicale :
mpd --create-db
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.
Soucis de connexion a Distance
Si jamais vous ne pouvez pas vous connecter a votre serveur Mpd a distance, essayez de modifier ou commenter la ligne bind_to_adress dans mdp.conf
######################## DAEMON OPTIONS ######################## [...] # The address and port to listen on. # #bind_to_address "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