{"id":1398,"date":"2013-04-15T12:55:35","date_gmt":"2013-04-15T11:55:35","guid":{"rendered":"https:\/\/www.azurs.net\/carnet\/?p=1398"},"modified":"2025-10-16T14:32:17","modified_gmt":"2025-10-16T12:32:17","slug":"mpd-sous-arch-linux-sur-raspberry-pi","status":"publish","type":"post","link":"https:\/\/www.azurs.net\/carnet\/2013\/04\/mpd-sous-arch-linux-sur-raspberry-pi\/","title":{"rendered":"MPD sous Arch Linux sur Raspberry Pi"},"content":{"rendered":"<p>Pour le moment, mon Raspberry Pi me sert principalement en tant que serveur de fichiers musicaux et poste de radio pour \u00e9couter des stations de radio diffus\u00e9es sur l&rsquo;internet. Je me suis tourn\u00e9 vers Media Player Daemon (MPD) que j&rsquo;ai d&rsquo;abord install\u00e9 sous Raspbian Wheezy, et qui tourne d\u00e9sormais chez moi sous <a title=\"Arch linux sur Raspberry Pi : installation\" href=\"https:\/\/www.azurs.net\/carnet\/2013\/03\/arch-linux-sur-raspberry-pi-installation\/\">Arch Linux<\/a>. Pour m\u00e9moire, pour r\u00e9f\u00e9rence et parce que cela peut servir \u00e0 quelqu&rsquo;un d&rsquo;autre, voici les \u00e9tapes parcourues pour l&rsquo;installation que j&rsquo;ai r\u00e9alis\u00e9e.<br \/>\n<!--more--><\/p>\n<h2>Mise \u00e0 jour du syst\u00e8me<\/h2>\n<p>On commence par une mise \u00e0 jour des d\u00e9p\u00f4ts :<\/p>\n<p><code># pacman -Syu<\/code><\/p>\n<h2>Installation de MPD<\/h2>\n<p>Puis on installe MPD :<\/p>\n<p><code># pacman -S mpd<\/code><\/p>\n<h2>Configuration de MPD<\/h2>\n<p>Pour configurer MPD, il faut \u00e9diter le fichier \/etc\/mpd.conf<\/p>\n<p><code># nano \/etc\/mpd.conf<\/code><\/p>\n<p>Voici les points que j&rsquo;ai d\u00fb modifier par rapport \u00e0 la configuration par d\u00e9faut.<\/p>\n<h3>Emplacement des fichiers musicaux<\/h3>\n<p>Le r\u00e9pertoire dans lequel sont stock\u00e9s les fichiers musicaux.<\/p>\n<p><code>music_directory\t\t\"\/var\/lib\/mpd\/musique\"<\/code><\/p>\n<p>Physiquement, mes fichiers sont plac\u00e9s sur des supports divers (disque dur externe USB, cl\u00e9 USB, etc.), parfois branch\u00e9s, mais aussi parfois d\u00e9branch\u00e9s. J&rsquo;ai donc choisi de ne pas placer mes fichiers \u00e0 l&#8217;emplacement d\u00e9sign\u00e9 dans le fichier de configuration, mais de <a href=\"http:\/\/mpd.wikia.com\/wiki\/Using_Multiple_Directories_Under_Parent\">cr\u00e9er, dans ce r\u00e9pertoire, des liens symboliques<\/a> vers les diff\u00e9rents points de montage de ces p\u00e9riph\u00e9riques de stockage de masse.<\/p>\n<p>Par exemple, j&rsquo;ai cr\u00e9\u00e9 dans \/var\/lib\/mpd\/musique un lien symbolique vers \/mnt\/disque\/musique , qui est le point de montage de mon disque externe USB, suivi du r\u00e9pertoire du disque dans lequel sont rang\u00e9s mes fichiers.<\/p>\n<p><code># ln -s \/mnt\/disque\/musique\/ \/var\/lib\/mpd\/musique<\/code><\/p>\n<p>Pour d\u00e9signer d&rsquo;autres unit\u00e9s de stockage, il suffit de r\u00e9p\u00e9ter la manoeuvre.<\/p>\n<p>Pour que MPD suive ces liens symboliques lorsqu&rsquo;il met \u00e0 jour sa base de donn\u00e9es, il suffit de s&rsquo;assurer, dans \/etc\/mpd.conf, de bien mettre les param\u00e8tres follow_outside_symlinks et #follow_inside_symlinks \u00e0 \u00ab\u00a0yes\u00a0\u00bb.<\/p>\n<h3>Stockage des listes de lecture (playlists)<\/h3>\n<p>Pour pouvoir acc\u00e9der \u00e0 mes listes de lecture et en sauvegarder sur le serveur, j&rsquo;ai indiqu\u00e9 l&#8217;emplacement des playlists :<\/p>\n<p><code>playlist_directory\t\t\"\/var\/lib\/mpd\/playlists\"<\/code><\/p>\n<h3>Emplacement de la base de donn\u00e9es<\/h3>\n<p>J&rsquo;ai \u00e9galement pr\u00e9cis\u00e9 l&#8217;emplacement de la base de donn\u00e9es :<\/p>\n<p><code>db_file\t\t\t\"\/var\/lib\/mpd\/database\"<\/code><\/p>\n<h3>Connection des clients pr\u00e9sents sur le r\u00e9seau local au serveur MPD<\/h3>\n<p>Pour que les clients h\u00e9berg\u00e9s sur les machines pr\u00e9sentes sur mon r\u00e9seau local puissent se connecter au serveur, j&rsquo;ai d\u00e9coch\u00e9 la ligne :<\/p>\n<p><code>bind_to_address\t\t\"any\"<\/code><\/p>\n<h3>Utilisation d&rsquo;une carte son externe (DAC USB) en remplacement de la sortie audio du Raspberry Pi<\/h3>\n<p>Enfin, la sortie audio native du Raspberry \u00e9tant notoirement m\u00e9diocre, j&rsquo;ai fait l&rsquo;acquisition d&rsquo;un petit DAC USB qui me donne enti\u00e8re satisfaction. Il est branch\u00e9 au moyen d&rsquo;un cable Jack m\u00e2le &#8211; RCA audio m\u00e2le \u00e0 mon vieil ampli, mis au placard jusque l\u00e0 pour cause de destruction totale de mon lecteur de disques compact par mes trois garnements&#8230;<\/p>\n<p>J&rsquo;ai ajout\u00e9 une sortie audio correspondante en indiquant :<\/p>\n<p><code>audio_output {<br \/>\ntype\t\t\"alsa\"<br \/>\nname\t\t\"Mon DAC USB\"<br \/>\ndevice\t\t\"hw:1,0\"<br \/>\n}<\/code><\/p>\n<h3>Activation du service au d\u00e9marrage du Raspberry Pi<\/h3>\n<p>Pour lancer MPD en tant que \u00ab d\u00e9mon \u00bb au d\u00e9marrage du Raspberry Pi, il suffit d&rsquo;activer le service :<\/p>\n<p><code># systemctl service mpd enable<\/code><\/p>\n<p>Et tout cela fonctionne sans trop de difficult\u00e9s, avec un client appropri\u00e9.<\/p>\n<h3>Installation du client de base et d&rsquo;autres clients<\/h3>\n<p>J&rsquo;ai install\u00e9 le client \u00ab de base \u00bb MPC :<\/p>\n<p><code># pacman -S mpc<\/code><\/p>\n<p>Lorsque des fichiers musicaux ont \u00e9t\u00e9 supprim\u00e9s ou modifi\u00e9s sur mes p\u00e9riph\u00e9riques de stockage, il suffit de mettre \u00e0 jour la base de donn\u00e9es.<\/p>\n<p>Pour forcer la mise \u00e0 jour :<\/p>\n<p><code># mpc update<\/code><\/p>\n<p>\u00c7a, c&rsquo;est uniquement pour l&rsquo;administration.<\/p>\n<p>Pour la lecture et la manipulation de playlists, j&rsquo;ai install\u00e9 NCMPC, qui fonctionne en mode console :<\/p>\n<p># pacman -S ncmpc<\/p>\n<h2>Sauvegarder sa carte SD est de bonne pratique&#8230;<\/h2>\n<p>L&rsquo;utilisation de MPD peut, si la configuration n&rsquo;est pas optimis\u00e9e, solliciter de mani\u00e8re soutenue la carte SD qui h\u00e9berge le syst\u00e8me d&rsquo;exploitation du Raspberry Pi. Et les cartes SD sollicit\u00e9es, tr\u00e8s sollicit\u00e9es, \u00e7a rend parfois l&rsquo;\u00e2me sans crier gare, ou bien des fichiers syst\u00e8me s&rsquo;y trouvent corrompus sans raison apparente. J&rsquo;en ai fait l&rsquo;apprentissage \u00e0 mes frais (et au prix d&rsquo;une r\u00e9installation compl\u00e8te).<\/p>\n<p>Il est donc de tr\u00e8s bonne pratique de penser \u00e0 <a href=\"http:\/\/www.raspberrypi.org\/phpBB3\/viewtopic.php?f=65&amp;t=34670\">sauvegarder sa carte SD<\/a> pour faciliter la r\u00e9installation rapide du syst\u00e8me en cas de plantage inopin\u00e9&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Installation et configuration de MPD sous Arch Linux.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"episode_type":"","audio_file":"","podmotor_file_id":"","podmotor_episode_id":"","cover_image":"","cover_image_id":"","duration":"","filesize":"","filesize_raw":"","date_recorded":"","explicit":"","block":"","itunes_episode_number":"","itunes_title":"","itunes_season_number":"","itunes_episode_type":"","footnotes":""},"categories":[395],"tags":[249,230,232,246],"class_list":["post-1398","post","type-post","status-publish","format-standard","hentry","category-bidouillages","tag-archlinux","tag-mpd","tag-musique","tag-raspberry-pi-2"],"share_on_mastodon":{"url":"","error":""},"_links":{"self":[{"href":"https:\/\/www.azurs.net\/carnet\/wp-json\/wp\/v2\/posts\/1398","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.azurs.net\/carnet\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.azurs.net\/carnet\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.azurs.net\/carnet\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.azurs.net\/carnet\/wp-json\/wp\/v2\/comments?post=1398"}],"version-history":[{"count":18,"href":"https:\/\/www.azurs.net\/carnet\/wp-json\/wp\/v2\/posts\/1398\/revisions"}],"predecessor-version":[{"id":4612,"href":"https:\/\/www.azurs.net\/carnet\/wp-json\/wp\/v2\/posts\/1398\/revisions\/4612"}],"wp:attachment":[{"href":"https:\/\/www.azurs.net\/carnet\/wp-json\/wp\/v2\/media?parent=1398"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.azurs.net\/carnet\/wp-json\/wp\/v2\/categories?post=1398"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.azurs.net\/carnet\/wp-json\/wp\/v2\/tags?post=1398"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}