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.

Installez le paquet mpd.

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.

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.1301352704.txt.gz
  • Dernière modification: Le 18/04/2011, 14:44
  • (modification externe)