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.

Installez le paquet mpd.

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"

par défaut mpd travaille en mode root.
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

Cette installation est celle que j'ai choisie, je vous invite à ne l'essayer que si vous savez ce que vous faites.
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 :

configurer_le_serveur_de_streaming_audio_http_de_mpd

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

Site officiel

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
Screenshots

  • mpd.1301313546.txt.gz
  • Dernière modification: Le 28/03/2011, 13:59
  • par Mathieu Comandon