MPD partie 1 – Serveur de diffusion musicale

gmpc-et-sonata

Salut l’étable ! Je me présente : Djul, ancien blogueur sur mon site www.djul.info et actuellement étudiant. Originaire de Normandie, j’étais pour ainsi dire destiné à venir écrire sur La Vache Libre vu la concentration bovine de cette région ;)

J’interviendrai occasionnellement sur des sujets concernant l’utilisation de Linux pour du multimédia et des tâches usuelles, mais aussi une facette plus technique avec de la ligne de commande et du bidouillage. Je fais pas mal de recyclage d’anciens articles de mon blog, mais j’ai quelques inédits sous la manche. Je bricole aussi sur de l’Arduino ou du Raspberry Pi, il n’est donc pas impossible que vous tombiez sur des articles qui en parlent.

Sur ce, bonne lecture de cette première contribution sur le logiciel d’écoute musicale MPD.

MPD est un logiciel libre en architecture client/serveur qui permet de diffuser de la musique sous Linux avec un contrôle par le réseau. Le véritable rôle de MPD est d’être un serveur de diffusion musicale. Le sigle signifie Media Player Daemon (Démon de lecteur multimedia) : ce n’est pas un truc sataniste, mais un service qui fonctionne en tâche de fond.

Ce service permet de :

  • Diffuser un flux musical en local ou en réseau (streaming)
  • Lire une liste de lecture
  • Tenir à jour une base de donnée des morceaux et des playlists enregistrées

Il n’y a aucun contrôle par le serveur sur la musique en lecture, pas de play/pause/stop ni aucune autre fonctionnalité. Mais comment contrôle-t-on ce qu’on lit ? Et bien grâce au logiciel client, qui va se connecter au démon (que ce soit sur la machine ou en réseau local voir même via Internet !). Il n’est pas nécessaire pour ÉCOUTER la musique, mais seulement pour la CONTRÔLER. Votre flux tourne en fond en attendant des instructions d’un logiciel client. Le couple client + serveur fonctionne de façon transparente pour l’utilisateur, comme un lecteur musical normal, mais permet des avantages non négligeables, comme la stabilité, la légèreté et quelques trucs sympas comme la musique qui continue même une fois le client fermé.

Si le client peut être installé sur la même machine que le serveur, la véritable puissance de MPD réside dans le fait que le flux est disponible sur le réseau, autorisant n’importe quel client à le contrôler. Vous pouvez ainsi diffuser votre musique sur vos meilleures enceintes et la contrôler depuis n’importe quel terminal, que ce soit un ordinateur (sous n’importe quel OS) ou un smartphone, voire un appareil plus exotique. De nombreux clients existent :

  • Des applications graphiques pour Linux, Mac et Windows, mais aussi Android, iOS, Windows Phone…
  • Des plugins pour XBMC, Firefox, des widgets…
  • Des clients web pour contrôler sa musique depuis un site internet
  • Des clients minimalistes pour le contrôle dans un terminal Linux ou dans la zone de notification.
  • Des clients très spécifiques comme un contrôleur en ligne de commande ($ mpc play…)

La liste exhaustive des clients recensés est disponible sur le Wiki de MPD. Sous Gnome, je vous conseille pour ma part les clients GMPC (un des plus complets) et Sonata (simplissime) que j’utilise (voir capture plus haut). Vous remarquerez que les deux logiciels sont parfaitement bien synchronisés.

Installation

Si vous possédez les codecs nécessaires pour lire votre musique (probablement ceux pour le FLAC et le MP3), seuls deux paquets sous Linux sont nécessaires : mpd et mpc (qui ajoute des contrôles basiques en console). Par exemple pour les installer sous Ubuntu :

$ sudo apt-get install mpd mpc

Éditez ensuite (en superutilisateur) le fichier /etc/mpd.conf, normalement tous les paramètres ont été détectés, vous n’avez pas grand-chose à changer. Vérifiez juste le dossier musique, et voyez si vous voulez personnaliser l’emplacement des autres dossiers (playlists, db…). Voici par exemple ma configuration :

port			"6600"
music_directory         "/home/djul/Musique"
playlist_directory      "/home/djul/Musique/Playlists"
db_file                 "~/.mpd/mpd.db"
log_file                "/var/log/mpd.log"
error_file              "~/.mpd/mpd.error"

Si vous voulez diffuser sur le réseau, commentez la ligne suivante :

bind_to_address                 "localhost"

Si vous voulez que le volume de MPD soit indépendant du volume système (utile pour contrôler le volume à distance), décommentez également la ligne suivante :

mixer_type "software"

Une fois ces paramétrages enregistrés, utilisez la commande suivante pour redémarrer le serveur :

$ sudo /etc/init.d/mpd restart

Le serveur est alors fonctionnel, il vous suffit de vérifier qu’il est bien lancé au démarrage (les Archers voudront peut être faire quelques ajustements) et d’y connecter un client. Une mise à jour de la bibliothèque peut être nécessaire, vous devez la lancer depuis votre client. De manière générale, si ça ne fonctionne pas, n’hésitez pas à me poser des questions ou à consulter la documentation de votre distribution.

En bonus, un aperçu de ce que peut donner MPD contrôlé en console avec Tilda et ncmpc++, ou aussi via sound-indicator :

Tilda+ncmpdcpp-et-Sound-indicator

Ceci clôt la première partie, amusez-vous bien avec votre nouveau lecteur musical préféré ;) J’expliquerai par la suite comment diffuser sur l’appareil de votre choix le flux du serveur, puis comment créer sa webradio personnelle.

Bonne écoute !

flattr this!

Vus : 4190
Publié par La vache libre : 587