<?xml 
version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="https://www.momh.fr/spip.php?page=backend.xslt" ?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:atom="http://www.w3.org/2005/Atom"
>

<channel xml:lang="fr">
	<title>momh</title>
	<link>https://momh.fr/</link>
	<description>My Own Memory Hole se veut une sorte de &#171;&#160;vitrine&#160;&#187; de mon parcours et de mon exp&#233;rience mais aussi de mes centres d'int&#233;r&#234;t et constitue donc en quelque sorte ma m&#233;moire en ligne, m&#233;moire virtuelle d&#233;localis&#233;e mais ordonn&#233;e et index&#233;e&#8230;</description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>
	<atom:link href="https://www.momh.fr/spip.php?id_mot=8&amp;page=backend" rel="self" type="application/rss+xml" />




<item xml:lang="fr">
		<title>Raspbian Bullseye Lite sur NAS Argon Eon</title>
		<link>https://www.momh.fr/raspbian-bullseye-lite-sur-nas-argon-eon</link>
		<guid isPermaLink="true">https://www.momh.fr/raspbian-bullseye-lite-sur-nas-argon-eon</guid>
		<dc:date>2022-01-27T16:59:15Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Brice Boucard</dc:creator>


		<dc:subject>Raspberry Pi</dc:subject>
		<dc:subject>&lt;span class=&#034;caps&#034;&gt;NAS&lt;/span&gt;</dc:subject>
		<dc:subject>mpd</dc:subject>
		<dc:subject>torrent</dc:subject>

		<description>
&lt;p&gt;On choisit pour notre nouveau &lt;span class=&#034;caps&#034;&gt;NAS&lt;/span&gt; Argon Eon &#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;propuls&#233;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187; par un Raspberry Pi de se passer d'interface graphique et on opte donc pour la distribution Raspbian Bullseye Lite. &lt;br class='autobr' /&gt; Une fois notre carte microSD cr&#233;&#233;e (merci &#224; l'utilitaire rpi-imager) et les premi&#232;res configurations r&#233;alis&#233;es gr&#226;ce &#224; l'outil raspi-config (changement de mot de passe, localisation, clavier...), on peut passer &#224; sa pr&#233;paration&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;; au programme&#160;: alsa et bluetooth, partage de fichiers, mpd, transmission-daemon, flexget,&#160;(&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.momh.fr/blog" rel="directory"&gt;Blog&lt;/a&gt;

/ 
&lt;a href="https://www.momh.fr/raspberry-pi" rel="tag"&gt;Raspberry Pi&lt;/a&gt;, 
&lt;a href="https://www.momh.fr/nas" rel="tag"&gt;&lt;span class=&#034;caps&#034;&gt;NAS&lt;/span&gt;&lt;/a&gt;, 
&lt;a href="https://www.momh.fr/mpd" rel="tag"&gt;mpd&lt;/a&gt;, 
&lt;a href="https://www.momh.fr/torrent" rel="tag"&gt;torrent&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;On choisit pour notre nouveau &lt;span class=&#034;caps&#034;&gt;NAS&lt;/span&gt; Argon Eon &#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;propuls&#233;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187; par un Raspberry Pi de se passer d'interface graphique et on opte donc pour la distribution Raspbian Bullseye Lite.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Une fois notre carte microSD cr&#233;&#233;e (merci &#224; l'utilitaire &lt;a href=&#034;https://www.raspberrypi.com/software/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;rpi-imager&lt;/a&gt;) et les premi&#232;res configurations r&#233;alis&#233;es gr&#226;ce &#224; l'outil &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;raspi-config&lt;/code&gt; (changement de mot de passe, localisation, clavier...), on peut passer &#224; sa pr&#233;paration&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;; au programme&#160;: alsa et bluetooth, partage de fichiers, mpd, transmission-daemon, flexget, Spotify Connect...&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Maintenance et configuration&lt;/h2&gt;
&lt;p&gt;On commence par r&#233;aliser une mise &#224; jour du syst&#232;me&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo apt update &amp;&amp; sudo apt upgrade &amp;&amp; sudo reboot &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Puis on installe l'utilitaire de gestion du &lt;span class=&#034;caps&#034;&gt;NAS&lt;/span&gt; Argon Eon, qui g&#232;re notamment la vitesse de ventilation&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;curl https://download.argon40.com/argoneon.sh | bash &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;Wi-Fi et &lt;span class=&#034;caps&#034;&gt;IP&lt;/span&gt; fixe&lt;/h2&gt;
&lt;p&gt;Pour se connecter &#224; un r&#233;seau Wi-Fi, il suffit d'utiliser l'utilitaire &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;raspi-config&lt;/code&gt; et d'initier le premier choix, &lt;i&gt;Wireless Lan&lt;/i&gt;, du premier menu, &lt;i&gt;System Options&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;Les informations de connexion devrait alors se retrouver dans le fichier &lt;i&gt;/etc/wpa_supplicant/wpa_supplicant.conf&lt;/i&gt;&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 country=FR network={ ssid=&#034;SSID&#034; psk=&#034;PASSWORD&#034; } &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour attribuer une &lt;span class=&#034;caps&#034;&gt;IP&lt;/span&gt; fixe &#224; votre Raspberry, il convient tout d'abord d'identifier l'interface r&#233;seau Wi-Fi, a priori &lt;i&gt;wlan0&lt;/i&gt;, gr&#226;ce &#224; la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ifconfig&lt;/code&gt;. Ensuite, il faut &#233;diter le fichier &lt;i&gt;/etc/dhcpcd.conf&lt;/i&gt; et ajouter une nouvelle interface&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;interface wlan0 static ip_address=192.168.1.56 static routers=192.168.1.1 static domain_name_servers=80.67.169.12 80.67.169.40 2001:910:800::12 2001:910:800::40 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;La derni&#232;re ligne permet d'utiliser &lt;a href=&#034;https://www.fdn.fr/actions/dns/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;les serveurs &lt;span class=&#034;caps&#034;&gt;DNS&lt;/span&gt; de French Data Network&lt;/a&gt; et de ne plus subir certaines restrictions, notamment celles limitant l'acc&#232;s &#224; des sites de torrents (cf. infra).&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Alsa et bluetooth&#160;: bluealsa&lt;/h2&gt;
&lt;p&gt;Il semble que le paquet bluealsa ne soit plus disponible dans la branche stable de Debian et ne se trouve que dans unstable...&lt;br class='autobr' /&gt;
Plut&#244;t que de le compiler depuis &lt;a href=&#034;https://github.com/Arkq/bluez-alsa&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;ses sources&lt;/a&gt;, j'ai r&#233;cup&#233;r&#233; les paquets n&#233;cessaires dans &lt;a href=&#034;https://packages.debian.org/source/sid/bluez-alsa&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;les d&#233;p&#244;ts Debian&lt;/a&gt; et les ai simplement install&#233; avec &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;apt&lt;/code&gt;&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;wget http://ftp.fr.debian.org/debian/pool/main/b/bluez-alsa/libasound2-plugin-bluez_3.0.0-2_armhf.deb wget http://ftp.fr.debian.org/debian/pool/main/b/bluez-alsa/bluez-alsa-utils_3.0.0-2_armhf.deb sudo apt install ./libasound2-plugin-bluez_3.0.0-2_armhf.deb sudo apt install ./bluez-alsa-utils_3.0.0-2_armhf.deb &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On cr&#233;e ensuite un service systemd pour bluealsa, en reprenant celui propos&#233; par &lt;a href=&#034;https://github.com/bablokb/pi-btaudio/blob/master/files/etc/systemd/system/bluealsa.service&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;bablokb/pi-btaudio&lt;/a&gt;&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo nano /etc/systemd/system/bluealsa.service &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# -------------------------------------------------------------------------- # Modified version of bluealsa.service unit definition # (replaced WantedBy=graphical.target with WantedBy=bluetooth.target) # # Author: Bernhard Bablok # License: GPL3 # # Website: https://github.com/bablokb/pi-btaudio # # -------------------------------------------------------------------------- [Unit] Description=BluezALSA proxy Requires=bluetooth.service After=bluetooth.service [Service] Type=simple User=root ExecStart=/usr/bin/bluealsa [Install] WantedBy=bluetooth.target &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On lance ensuite le service&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo systemctl enable bluealsa.service sudo service bluealsa start &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On &#233;dite ensuite le fichier &lt;i&gt;/etc/asound.conf&lt;/i&gt; en suivant l&#224; encore ce que propose &lt;a href=&#034;https://github.com/bablokb/pi-btaudio/blob/master/files/etc/asound.conf&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;bablokb/pi-btaudio&lt;/a&gt;&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;pcm.!default &#034;bluealsa&#034; ctl.!default &#034;bluealsa&#034; defaults.bluealsa.interface &#034;hci0&#034; defaults.bluealsa.device &#034;FC:58:FA:14:27:BC&#034; defaults.bluealsa.profile &#034;a2dp&#034; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Dans notre cas, nous ajoutons une sortie pour notre ampli bluetooth Tangent Ampster&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;pcm.tangent { type plug slave { pcm { type bluealsa device FC:58:FA:14:27:BC profile &#034;a2dp&#034; } } hint { show on description &#034;Tangent Ampster BT&#034; } } &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;Partages &lt;span class=&#034;caps&#034;&gt;SAMBA&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;Une fois install&#233;&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo apt install samba &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On peut configurer nos partages en &#233;ditant le fichier &lt;i&gt;/etc/samba/smb.conf&lt;/i&gt;. &lt;br class='autobr' /&gt;
Ainsi danse mon cas, j'ajoute cette section &#224; la toute fin du fichier, le r&#233;pertoire /home/pi/shares/ contenant l'ensemble des points de montage des disques du &lt;span class=&#034;caps&#034;&gt;NAS&lt;/span&gt;.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;[shares] comment = Argon Eon NAS Shares path = /home/pi/shares read only = no browsable = yes writable = yes valid users = pi &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Une fois le fichier enregistr&#233;, il convient d'attribuer un mot de passe &#224; votre utilisateur (dans mon cas, pi)&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo smbpasswd -a pi &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;puis de red&#233;marrer le service&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo service smbd restart &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Ensuite, sur le client&#160;: on commence par cr&#233;er un fichier contenant les informations de connexion&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;touch ~/.nascredentials chmod 600 ~/.nascredentials nano ~/.nascredentials &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;user=pi password= &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Puis on &#233;dite le fichier &lt;i&gt;/etc/fstab&lt;/i&gt; pour monter au d&#233;marrage&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;//192.168.1.56/shares /home/bbrice/NAS cifs defaults,credentials=/home/bbrice/.nascredentials,uid=1000,gid=1000,file_mode=0755,dir_mode=0755 0 0 &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;Librespot&#160;: un client Spotify Connect&lt;/h2&gt;
&lt;p&gt;On commence par installer &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;rust&lt;/code&gt; et ses utilitaires n&#233;cessaires &#224; la compilation ainsi que les d&#233;pendances, avant de cloner le d&#233;p&#244;t et de lancer la compilation&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh sudo apt install build-essential libpulse-dev git clone https://github.com/librespot-org/librespot.git cd librespot cargo build --release --no-default-features --features &#034;alsa-backend&#034; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On cr&#233;e ensuite un service systemd&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;mkdir -p ~/.config/systemd/user/ nano ~/.config/systemd/user/librespot.service &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;[Unit] Description=Librespot (an open source Spotify client) Documentation=https://github.com/librespot-org/librespot Documentation=https://github.com/librespot-org/librespot/wiki/Options Wants=network.target sound.target After=network.target sound.target [Service] Restart=always RestartSec=10 ExecStart=/usr/bin/librespot --name &#034;%u@%H&#034; --device bluealsa [Install] WantedBy=default.target &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;et on le lance&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;systemctl --user enable librespot.service systemctl --user start librespot.service &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;T&#233;l&#233;chargements automatis&#233;s&#160;: Flexget et transmission-daemon&lt;/h2&gt;
&lt;p&gt;Pour ce qui est de l'installation et la configuration de Flexget, il suffit de se reporter &#224; cet article&#160;: &lt;a href='https://www.momh.fr/telecharger-ses-series-avec-flexget' class=&#034;spip_in&#034;&gt;T&#233;l&#233;charger ses s&#233;ries avec Flexget&lt;/a&gt;&lt;br class='autobr' /&gt;
Il convient de veiller &#224; utiliser un &lt;span class=&#034;caps&#034;&gt;DNS&lt;/span&gt; neutre afin de pouvoir acc&#233;der au flux d'&lt;span class=&#034;caps&#034;&gt;EZTV&lt;/span&gt;... Pour ce faire, comme &lt;a href='https://www.momh.fr/changer-ses-dns-sous-raspbian-buster' class=&#034;spip_in&#034;&gt;sous Raspbian Buster&lt;/a&gt;, il suffit d'&#233;diter le fichier &lt;i&gt;/etc/dhcpcd.conf&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;Pour ce qui est de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;transmission-daemon&lt;/code&gt;, la t&#226;che est un peu plus ardue mais &lt;a href=&#034;https://pimylifeup.com/raspberry-pi-transmission/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;pimylifeup.com&lt;/a&gt; nous apporte une solution qui fonctionne parfaitement.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;&lt;span class=&#034;caps&#034;&gt;MPD&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;Pour ce qui est de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;mpd&lt;/code&gt;, rien de bien complexe, il suffit juste de se replonger dans &lt;a href='https://www.momh.fr/mpd' class=&#034;spip_in&#034;&gt;mes anciens articles&lt;/a&gt;... le point essentiel &#233;tant d'utiliser notre ampli Tangent Ampster connect&#233; en bluetooth comme sortie&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;; il suffit d'ajouter cette section (en la modifiant en fonction de la configuration vue ci-dessus dans &lt;i&gt;/etc/asound.conf&lt;/i&gt;) dans le fichier &lt;i&gt;/etc/mpd.conf&lt;/i&gt;&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;audio_output { type &#034;alsa&#034; name &#034;Tangent Ampster BT - ALSA Bluetooth&#034; device &#034;tangent&#034; mixer_type &#034;software&#034; format &#034;44100:16:2&#034; } &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;puis de relancer le service&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo service mpd restart &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&#8203;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>MPD, PulseAudio et Bluetooth sous Raspbian Buster</title>
		<link>https://www.momh.fr/mpd-pulseaudio-et-bluetooth-sous-raspbian-buster</link>
		<guid isPermaLink="true">https://www.momh.fr/mpd-pulseaudio-et-bluetooth-sous-raspbian-buster</guid>
		<dc:date>2020-09-29T10:58:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Brice Boucard</dc:creator>


		<dc:subject>Linux</dc:subject>
		<dc:subject>mpd</dc:subject>
		<dc:subject>PulseAudio</dc:subject>
		<dc:subject>Raspberry Pi</dc:subject>
		<dc:subject>bluetooth</dc:subject>

		<description>
&lt;p&gt;Alors que je venais juste de mettre en place la cohabitation entre &lt;span class=&#034;caps&#034;&gt;MPD&lt;/span&gt; et mon ampli connect&#233; en Bluetooth sur mon Raspberry Pi 2 (voir ici), je basculais sur un mod&#232;le 4, modifiant quelque peu mes usages et utiisant cette fois-ci l'interface graphique (afin de profiter notamment de Spotify, une fois la gestion des &lt;span class=&#034;caps&#034;&gt;DRM&lt;/span&gt; ajout&#233;e). Et du coup, afin d'avoir une ma&#238;trise plus fine de mes sorties audio, j'ai opt&#233; pour l'utilisation de PulseAudio. &lt;br class='autobr' /&gt; On commence par purger bluealsa s'il est install&#233;&#160;(&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.momh.fr/blog" rel="directory"&gt;Blog&lt;/a&gt;

/ 
&lt;a href="https://www.momh.fr/linux" rel="tag"&gt;Linux&lt;/a&gt;, 
&lt;a href="https://www.momh.fr/mpd" rel="tag"&gt;mpd&lt;/a&gt;, 
&lt;a href="https://www.momh.fr/pulseaudio" rel="tag"&gt;PulseAudio&lt;/a&gt;, 
&lt;a href="https://www.momh.fr/raspberry-pi" rel="tag"&gt;Raspberry Pi&lt;/a&gt;, 
&lt;a href="https://www.momh.fr/bluetooth" rel="tag"&gt;bluetooth&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Alors que je venais juste de mettre en place la cohabitation entre &lt;span class=&#034;caps&#034;&gt;MPD&lt;/span&gt; et mon ampli connect&#233; en Bluetooth sur mon Raspberry Pi 2 (voir &lt;a href='https://www.momh.fr/mpd-et-bluetooth-sur-raspberry-pi-2' class=&#034;spip_in&#034;&gt;ici&lt;/a&gt;), je basculais sur un mod&#232;le 4, modifiant quelque peu mes usages et utiisant cette fois-ci l'interface graphique (afin de profiter notamment de Spotify, une fois &lt;a href='https://www.momh.fr/spip.php?page=article&amp;id_article=35'&gt;la gestion des &lt;span class=&#034;caps&#034;&gt;DRM&lt;/span&gt; ajout&#233;e&lt;/a&gt;). Et du coup, afin d'avoir une ma&#238;trise plus fine de mes sorties audio, j'ai opt&#233; pour l'utilisation de PulseAudio.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;On commence par purger &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;bluealsa&lt;/code&gt; s'il est install&#233;&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo apt purge bluealsa &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;puis on installe tout ce qui concerne le Bluetooth et PulseAudio&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo apt install pi-bluetooth pulseaudio pulseaudio-module-bluetooth paprefs pavumeter pavucontrol pasystray &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On v&#233;rifie la configuration de PulseAudio (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/pulse/default.pa&lt;/code&gt;) notamment pour ce qui est du Bluetooth&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;### Automatically load driver modules for Bluetooth hardware .ifexists module-bluetooth-policy.so load-module module-bluetooth-policy .endif .ifexists module-bluetooth-discover.so load-module module-bluetooth-discover .endif &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;et on ajoute ces &#233;l&#233;ments&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# automatically switch to newly-connected devices load-module module-switch-on-connect load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 # IP of localhost &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On tue PulseAudio&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;pulseaudio -k &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;S'il ne red&#233;marre pas tout seul, il suffit de lancer la commande&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;pulseaudio -D &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On veille &#224; bien connecter notre enceinte Bluetooth via l'utilitaire en ligne de commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;bluetoothctl&lt;/code&gt;&#160;: on commence par rechercher les p&#233;riph&#233;riques disponibles (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;scan on&lt;/code&gt;), puis on lui accorde notre confiance (pas d'authentification n&#233;cessaire, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;trust&lt;/code&gt;) avant de faire l'appairage avec le bon device (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;pair&lt;/code&gt;) et de nous y connecter (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;connect&lt;/code&gt;)&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;; on peut alors cesser la recherche (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;scan off&lt;/code&gt;)&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;bluetoothctl &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;Agent registered [bluetooth]# scan on Discovery started [CHG] Controller 00:1A:7D:DA:71:15 Discovering: yes [CHG] Device FC:58:FA:14:27:BC RSSI: -71 [CHG] Device FC:58:FA:14:27:BC TxPower: 4 [...] [bluetooth]# pair FC:58:FA:14:27:BC Attempting to pair with FC:58:FA:14:27:BC [CHG] Device FC:58:FA:14:27:BC Connected: yes [...] [CHG] Device FC:58:FA:14:27:BC ServicesResolved: yes [CHG] Device FC:58:FA:14:27:BC Paired: yes Pairing successful [CHG] Device FC:58:FA:14:27:BC ServicesResolved: no [CHG] Device FC:58:FA:14:27:BC Connected: no [bluetooth]# trust FC:58:FA:14:27:BC [CHG] Device FC:58:FA:14:27:BC Trusted: yes Changing FC:58:FA:14:27:BC trust succeeded [bluetooth]# connect FC:58:FA:14:27:BC Attempting to connect to FC:58:FA:14:27:BC [CHG] Device FC:58:FA:14:27:BC Connected: yes Connection successful [CHG] Device FC:58:FA:14:27:BC ServicesResolved: yes [Tangent Ampster BT]# scan off Discovery stopped [...] [Tangent Ampster BT]# exit &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On configure une sortie PulseAudio dans la configuration de mpd, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/mpd.conf&lt;/code&gt;&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo nano /etc/mpd.conf &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;audio_output { type &#034;pulse&#034; name &#034;My Pulse Output&#034; server &#034;localhost&#034; mixer_type &#034;software&#034; } &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On relance &lt;span class=&#034;caps&#034;&gt;MPD&lt;/span&gt; et l'affaire est jou&#233;e&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo service mpd restart &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>G&#233;n&#233;rer des playlists pour MPD avec les derni&#232;res pistes ajout&#233;es</title>
		<link>https://www.momh.fr/generer-des-playlists-pour-mpd-avec-les-dernieres-pistes-ajoutees</link>
		<guid isPermaLink="true">https://www.momh.fr/generer-des-playlists-pour-mpd-avec-les-dernieres-pistes-ajoutees</guid>
		<dc:date>2020-05-08T14:35:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Brice Boucard</dc:creator>


		<dc:subject>Linux</dc:subject>
		<dc:subject>mpd</dc:subject>

		<description>
&lt;p&gt;Afin de retrouver facilement dans ncmpcpp les derni&#232;res pistes ajout&#233;es &#224; ma biblioth&#232;que, j'ai trouv&#233; et adapt&#233; le script suivant. nano&#160;/bin/lastaddedmpd #&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;!/bin/bash cd /home/$&lt;span class=&#034;caps&#034;&gt;USER&lt;/span&gt;/&lt;span class=&#034;caps&#034;&gt;NAS&lt;/span&gt;/Musique find . -type f -ctime -1 | egrep '\.mp3$|\.flac$' | awk ' sub(/^\.\//, &#034;&#034;)&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;; print ' | sort -n &gt; /home/$&lt;span class=&#034;caps&#034;&gt;USER&lt;/span&gt;/&lt;span class=&#034;caps&#034;&gt;NAS&lt;/span&gt;/Musique/playlists/$(date +%d-%m-%Y)_last_$1_days.m3u chmod +x&#160;/bin/lastaddedmpd &lt;br class='autobr' /&gt;
Et on lance la commande lastaddedmpd avec pour argument le nombre de jours &#224; prendre en compte.&lt;/p&gt;


-
&lt;a href="https://www.momh.fr/blog" rel="directory"&gt;Blog&lt;/a&gt;

/ 
&lt;a href="https://www.momh.fr/linux" rel="tag"&gt;Linux&lt;/a&gt;, 
&lt;a href="https://www.momh.fr/mpd" rel="tag"&gt;mpd&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Afin de retrouver facilement dans &lt;a href='https://www.momh.fr/ncmpcpp-un-client-pour-mpd' class=&#034;spip_in&#034;&gt;ncmpcpp&lt;/a&gt; les derni&#232;res pistes ajout&#233;es &#224; ma biblioth&#232;que, j'ai trouv&#233; et adapt&#233; le script suivant.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;nano ~/bin/lastaddedmpd &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;#!/bin/bash cd /home/$USER/NAS/Musique find . -type f -ctime -1 | egrep '\.mp3$|\.flac$' | awk '{ sub(/^\.\//, &#034;&#034;); print }' | sort -n &gt; /home/$USER/NAS/Musique/playlists/$(date +%d-%m-%Y)_last_$1_days.m3u &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;chmod +x ~/bin/lastaddedmpd &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et on lance la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;lastaddedmpd&lt;/code&gt; avec pour argument le nombre de jours &#224; prendre en compte.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>MPD et Bluetooth sur Raspberry Pi 2</title>
		<link>https://www.momh.fr/mpd-et-bluetooth-sur-raspberry-pi-2</link>
		<guid isPermaLink="true">https://www.momh.fr/mpd-et-bluetooth-sur-raspberry-pi-2</guid>
		<dc:date>2020-05-03T10:50:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Brice Boucard</dc:creator>


		<dc:subject>Linux</dc:subject>
		<dc:subject>mpd</dc:subject>
		<dc:subject>Raspberry Pi</dc:subject>
		<dc:subject>bluetooth</dc:subject>

		<description>
&lt;p&gt;Afin d'utiliser pleinement mon &#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;syst&#232;me multim&#233;dia&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187; &#224; base d'un &lt;span class=&#034;caps&#034;&gt;NAS&lt;/span&gt; et d'un Raspberry Pi &#8211; qui commence &#224; se faire vieillissant puisque dans sa vesion 2 &#8211;sur lequel tourne un serveur &lt;span class=&#034;caps&#034;&gt;MPD&lt;/span&gt;, je souhaitais connecter via Bluetooth ce dernier &#224; mon petit amplificateur Tangent Ampster &lt;span class=&#034;caps&#034;&gt;BT&lt;/span&gt;. &lt;br class='autobr' /&gt; Connexion Bluetooth &lt;br class='autobr' /&gt;
J'ai fait l'aquisition d'un dongle &lt;span class=&#034;caps&#034;&gt;USB&lt;/span&gt;/Bluetooth &lt;span class=&#034;caps&#034;&gt;TP&lt;/span&gt;-Link reconnu, dans mon souvenir, nativement sous Raspbian Buster, sous r&#233;serve d'avoir bien install&#233; le paquet pi-bluetooth&#160;: bash&#160;(&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.momh.fr/blog" rel="directory"&gt;Blog&lt;/a&gt;

/ 
&lt;a href="https://www.momh.fr/linux" rel="tag"&gt;Linux&lt;/a&gt;, 
&lt;a href="https://www.momh.fr/mpd" rel="tag"&gt;mpd&lt;/a&gt;, 
&lt;a href="https://www.momh.fr/raspberry-pi" rel="tag"&gt;Raspberry Pi&lt;/a&gt;, 
&lt;a href="https://www.momh.fr/bluetooth" rel="tag"&gt;bluetooth&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Afin d'utiliser pleinement mon &#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;syst&#232;me multim&#233;dia&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187; &#224; base d'un &lt;span class=&#034;caps&#034;&gt;NAS&lt;/span&gt; et d'un Raspberry Pi &#8211; qui commence &#224; se faire vieillissant puisque dans sa vesion 2 &#8211;sur lequel tourne un serveur &lt;span class=&#034;caps&#034;&gt;MPD&lt;/span&gt;, je souhaitais connecter via Bluetooth ce dernier &#224; mon petit amplificateur Tangent Ampster &lt;span class=&#034;caps&#034;&gt;BT&lt;/span&gt;.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Connexion Bluetooth&lt;/h2&gt;
&lt;p&gt;J'ai fait l'aquisition d'un dongle &lt;span class=&#034;caps&#034;&gt;USB&lt;/span&gt;/Bluetooth &lt;span class=&#034;caps&#034;&gt;TP&lt;/span&gt;-Link reconnu, dans mon souvenir, nativement sous Raspbian Buster, sous r&#233;serve d'avoir bien install&#233; le paquet &lt;i&gt;pi-bluetooth&lt;/i&gt;&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo apt install pi-bluetooth &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour connecter l'ampli au Raspberry Pi, on utilise l'utilitaire en ligne de commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;bluetoothctl&lt;/code&gt;&#160;: on commence par rechercher les p&#233;riph&#233;riques disponibles (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;scan on&lt;/code&gt;), puis on fait l'appairage avec le bon device (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;pair&lt;/code&gt;) et on lui accorde notre confiance (pas d'authentification n&#233;cessaire, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;trust&lt;/code&gt;) avant de nous y connecter (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;connect&lt;/code&gt;) et de cesser la recherche (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;scan off&lt;/code&gt;)&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;bluetoothctl &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;Agent registered [bluetooth]# scan on Discovery started [CHG] Controller 00:1A:7D:DA:71:15 Discovering: yes [CHG] Device FC:58:FA:14:27:BC RSSI: -71 [CHG] Device FC:58:FA:14:27:BC TxPower: 4 [...] [bluetooth]# pair FC:58:FA:14:27:BC Attempting to pair with FC:58:FA:14:27:BC [CHG] Device FC:58:FA:14:27:BC Connected: yes [...] [CHG] Device FC:58:FA:14:27:BC ServicesResolved: yes [CHG] Device FC:58:FA:14:27:BC Paired: yes Pairing successful [CHG] Device FC:58:FA:14:27:BC ServicesResolved: no [CHG] Device FC:58:FA:14:27:BC Connected: no [bluetooth]# trust FC:58:FA:14:27:BC [CHG] Device FC:58:FA:14:27:BC Trusted: yes Changing FC:58:FA:14:27:BC trust succeeded [bluetooth]# connect FC:58:FA:14:27:BC Attempting to connect to FC:58:FA:14:27:BC [CHG] Device FC:58:FA:14:27:BC Connected: yes Connection successful [CHG] Device FC:58:FA:14:27:BC ServicesResolved: yes [Tangent Ampster BT]# scan off Discovery stopped [...] [Tangent Ampster BT]# exit &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Cependant, si &#224; l'&#233;tape de la connexion &#224; l'ampli, vous obtenez une erreur, il convient alors d'installer le paquet &lt;i&gt;pulseaudio-module-bluetooth&lt;/i&gt;&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo apt install pulseaudio-module-bluetooth &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Ouvez ensuite le fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/pulse/default.pa&lt;/code&gt; et v&#233;rifiez aux alentours des lignes 65-67 que vous avez bien&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;.ifexists module-bluetooth-discover.so load-module module-bluetooth-discover .endif &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;et ajoutez &#224; la fin du fichier&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;# automatically switch to newly-connected devices load-module module-switch-on-connect &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Lancez alors pulseaudio avec la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;pulseaudio -D&lt;/code&gt;apr&#232;s l'avoir tu&#233; si besoin (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;pulseaudio -k&lt;/code&gt;) puis relancez la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;connect&lt;/code&gt; dans l'outil &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;bluetoothctl&lt;/code&gt;.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Configurer de nouvelles sorties dans &lt;span class=&#034;caps&#034;&gt;MPD&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;Une nouvelle fois, je ne suis pas parvenu &#224; configurer &lt;span class=&#034;caps&#034;&gt;MPD&lt;/span&gt; pour qu'il utilise PulseAudio... On s'en tient donc &#224; &lt;span class=&#034;caps&#034;&gt;ALSA&lt;/span&gt; et au &#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;Bluetooth Audio &lt;span class=&#034;caps&#034;&gt;ALSA&lt;/span&gt; Backend&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187; &lt;i&gt;bluealsa&lt;/i&gt; que l'on commence par installer&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo apt install bluealsa &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Puis on &#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;cr&#233;e&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187; de nouveaux p&#233;riph&#233;riques audio pour l'ensemble du syst&#232;me et de ses utilisateurs&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo nano /etc/asound.conf &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;pcm.tangent { type plug slave { pcm { type bluealsa device FC:58:FA:14:27:BC profile &#034;a2dp&#034; } } hint { show on description &#034;Tangent Ampster BT&#034; } } pcm.jblgo { type plug slave { pcm { type bluealsa device 78:44:05:61:4C:17 profile &#034;a2dp&#034; } } hint { show on description &#034;JBL Go&#034; } } &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On en vient ensuite &#224; la configuration de &lt;span class=&#034;caps&#034;&gt;MPD&lt;/span&gt; auquel on doit d&#233;clarer les nouvelles sorties &#224; utiliser&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;audio_output { type &#034;alsa&#034; name &#034;Tangent Ampster BT - ALSA Bluetooth&#034; device &#034;tangent&#034; mixer_type &#034;software&#034; format &#034;44100:16:2&#034; } audio_output { type &#034;alsa&#034; name &#034;JBL Go - ALSA Bluetooth&#034; device &#034;jblgo&#034; mixer_type &#034;software&#034; } &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et on relance le service&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo service mpd restart &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>mpdscribble&#160;: scrobbler vers last.fm et Libre.fm</title>
		<link>https://www.momh.fr/mpdscribble-scrobbler-vers-last-fm-et-libre-fm</link>
		<guid isPermaLink="true">https://www.momh.fr/mpdscribble-scrobbler-vers-last-fm-et-libre-fm</guid>
		<dc:date>2015-04-20T11:01:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Brice Boucard</dc:creator>


		<dc:subject>Linux</dc:subject>
		<dc:subject>mpd</dc:subject>
		<dc:subject>LastFM</dc:subject>

		<description>
&lt;p&gt;mpdscribble, une fois install&#233; et configur&#233; (cf. cet article), ne scrobble que vers le service Last.fm. &lt;br class='autobr' /&gt;
Si vous souhaitez scrobbler la musique que vous &#233;coutez avec &lt;span class=&#034;caps&#034;&gt;MPD&lt;/span&gt; &#233;galement vers l'alternative libre &#224; Last.fm, Libre.fm, il faut alors modifier &#224; la main le fichier de configuration de mpdscribble. &lt;br class='autobr' /&gt; Initialement, il doitressembler &#224; cela&#160;: bash sudo cat /etc/mpdscribble.conf &lt;br class='autobr' /&gt;
``` ## mpdscribble - an audioscrobbler for the Music Player Daemon. ##&#160;(&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.momh.fr/blog" rel="directory"&gt;Blog&lt;/a&gt;

/ 
&lt;a href="https://www.momh.fr/linux" rel="tag"&gt;Linux&lt;/a&gt;, 
&lt;a href="https://www.momh.fr/mpd" rel="tag"&gt;mpd&lt;/a&gt;, 
&lt;a href="https://www.momh.fr/lastfm" rel="tag"&gt;LastFM&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;mpdscribble, une fois install&#233; et configur&#233; (cf. &lt;a href='https://www.momh.fr/mpdscribble-mpd-et-lastfm' class=&#034;spip_in&#034;&gt;cet article&lt;/a&gt;), ne scrobble que vers le service &lt;a href=&#034;http://www.lastfm.fr/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Last.fm&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Si vous souhaitez scrobbler la musique que vous &#233;coutez avec &lt;span class=&#034;caps&#034;&gt;MPD&lt;/span&gt; &#233;galement vers l'alternative libre &#224; Last.fm, &lt;a href=&#034;https://libre.fm/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Libre.fm&lt;/a&gt;, il faut alors modifier &#224; la main le fichier de configuration de mpdscribble.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Initialement, il doitressembler &#224; cela&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo cat /etc/mpdscribble.conf &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;## mpdscribble - an audioscrobbler for the Music Player Daemon. ## http://mpd.wikia.com/wiki/Client:mpdscribble # HTTP proxy URL. #proxy = http://the.proxy.server:3128 # The location of the pid file. mpdscribble saves its process id there. #pidfile = /var/run/mpdscribble.pid # Change to this system user after daemonization. #daemon_user = mpdscribble # The location of the mpdscribble log file. The special value # &#034;syslog&#034; makes mpdscribble use the local syslog daemon. On most # systems, log messages will appear in /var/log/daemon.log then. # &#034;-&#034; means log to stderr (the current terminal). log = syslog # How verbose mpdscribble's logging should be. Default is 1. verbose = 1 # How often should mpdscribble save the journal file? [seconds] #journal_interval = 600 # The host running MPD, possibly protected by a password # ([PASSWORD@]HOSTNAME). Defaults to $MPD_HOST or localhost. #host = localhost # The port that the MPD listens on and mpdscribble should try to # connect to. Defaults to $MPD_PORT or 6600. #port = 6600 [last.fm] url = http://post.audioscrobbler.com/ username = my_username password = my_password # The file where mpdscribble should store its Last.fm journal in case # you do not have a connection to the Last.fm server. journal = /var/cache/mpdscribble/lastfm.journal #[libre.fm] #url = http://turtle.libre.fm/ #username = my_username #password = my_password #journal = /var/cache/mpdscribble/librefm.journal #[jamendo] #url = http://postaudioscrobbler.jamendo.com/ #username = my_username #password = my_password #journal = /var/cache/mpdscribble/jamendo.journal #[file] #file = /var/log/mpdscribble/log &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;&lt;span class=&#034;caps&#034;&gt;ATTENTION&lt;/span&gt;&#160;:&lt;/strong&gt; il semblerait que mpdscribble ne parvienne pas &#224; scrobbler vers les deux services si vos comptes ont le m&#234;me identifiant et le m&#234;me mot de passe.&lt;/p&gt;
&lt;p&gt;Avant d'&#233;diter le fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/mpdscribble.conf&lt;/code&gt;, il faut calculer le hash de votre mot de passe&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;; pour ce faire, lancer la commande&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;echo -n 'PASSWORD' | md5sum | cut -f 1 -d &#034; &#034; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Copiez le r&#233;sultat puis lancez l'&#233;dition du fichier de conf de mpdscribble&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo nano /etc/mpdscribble.conf &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;et modifiez la section libre.fm&#160;: d&#233;commentez chacune des lignes de celle-ci et saisissez votre nom d'utilisateur et copiez le hash de votre mot de passe. Cette section devrait ressembler &#224; cela&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;[libre.fm] url = http://turtle.libre.fm/ username = USER password = 319f4d26e3c536b5dd871bb2c52e3178 #hash de PASSWORD journal = /var/cache/mpdscribble/librefm.journal &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Une fois enregistr&#233;, il vous faut relancer mpdscribble&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo service mpdscribble restart &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>mpdscribble&#160;: conserver les morceaux scrobbl&#233;s dans un log</title>
		<link>https://www.momh.fr/mpdscribble-conserver-les-morceaux-scrobbles-dans-un-log</link>
		<guid isPermaLink="true">https://www.momh.fr/mpdscribble-conserver-les-morceaux-scrobbles-dans-un-log</guid>
		<dc:date>2014-08-15T11:08:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Brice Boucard</dc:creator>


		<dc:subject>Linux</dc:subject>
		<dc:subject>mpd</dc:subject>
		<dc:subject>LastFM</dc:subject>

		<description>
&lt;p&gt;Par d&#233;faut, il semblerait que mpdscribble ne conserve pas dans un log les morceaux scrobbl&#233;s (sauf lorsque l'on n'a pas de connexion au service de scrobbling de LastFM). Il est &#233;videmment possible de garder la trace localement de tout ce que &lt;span class=&#034;caps&#034;&gt;MPD&lt;/span&gt; lit, simplement en modifiant le fichier de configuration /etc/mpdscribble.conf. Cependant, il faut bien garder &#224; l'esprit qu'un tel fichier de log ne fait que grossir, posant d'&#233;ventuels probl&#232;mes sur le long terme. Ce n'est donc pas forc&#233;ment une&#160;(&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.momh.fr/blog" rel="directory"&gt;Blog&lt;/a&gt;

/ 
&lt;a href="https://www.momh.fr/linux" rel="tag"&gt;Linux&lt;/a&gt;, 
&lt;a href="https://www.momh.fr/mpd" rel="tag"&gt;mpd&lt;/a&gt;, 
&lt;a href="https://www.momh.fr/lastfm" rel="tag"&gt;LastFM&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Par d&#233;faut, il semblerait que &lt;a href='https://www.momh.fr/mpdscribble-mpd-et-lastfm' class=&#034;spip_in&#034;&gt;mpdscribble&lt;/a&gt; ne conserve pas dans un log les morceaux scrobbl&#233;s (sauf lorsque l'on n'a pas de connexion au service de scrobbling de LastFM).&lt;br class='autobr' /&gt;
Il est &#233;videmment possible de garder la trace localement de tout ce que &lt;span class=&#034;caps&#034;&gt;MPD&lt;/span&gt; lit, simplement en modifiant le fichier de configuration /etc/mpdscribble.conf. Cependant, il faut bien garder &#224; l'esprit qu'un tel fichier de log ne fait que grossir, posant d'&#233;ventuels probl&#232;mes sur le long terme. Ce n'est donc pas forc&#233;ment une bonne id&#233;e...&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Mais pour ce faire, il suffit donc de modifier le fichier de configuration &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;/etc/mpdscribble.conf&lt;/code&gt;&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo nano /etc/mpdscribble.conf &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;et de d&#233;commentez les derni&#232;res lignes du fichier, pour obtenir ceci&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;[file] file = /var/log/mpdscribble/log &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Puis on cr&#233;e le r&#233;pertoire /var/log/mpdscribble et on lui donne pour propri&#233;taire l'&#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;utilisateur&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187; mpdscribble avant de relancer le service &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;mpdscribble&lt;/code&gt;&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo mkdir /var/log/mpdscribble sudo chown mpdscribble /var/log/mpdscribble sudo service mpdscribble restart &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour v&#233;rifier que tout fonctionne, on lance la lecture et &#224; la fin de la lecture de la premi&#232;re piste, vous devriez la voir appara&#238;tre dans le log que l'on affiche ainsi&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;tail -f /var/log/mpdscribble/log &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>mpdscribble&#160;: MPD et LastFM</title>
		<link>https://www.momh.fr/mpdscribble-mpd-et-lastfm</link>
		<guid isPermaLink="true">https://www.momh.fr/mpdscribble-mpd-et-lastfm</guid>
		<dc:date>2011-09-13T14:54:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Brice Boucard</dc:creator>


		<dc:subject>Linux</dc:subject>
		<dc:subject>mpd</dc:subject>
		<dc:subject>LastFM</dc:subject>

		<description>
&lt;p&gt;Utilisateur de LastFM et de &lt;span class=&#034;caps&#034;&gt;MPD&lt;/span&gt; pour &#233;couter ma musique, je dois pouvoir scrobbler les titres que j'&#233;coute&#160;: mpdscribble est la solution, particuli&#232;rement simple &#224; installer et configurer. &lt;br class='autobr' /&gt; Il faut donc commencer par installer le paquet mpdscribble&#160;: sudo apt install mpdscribble &lt;br class='autobr' /&gt;
Une fois cela fait, il faut le configurer&#160;: sudo dpkg-reconfigure mpdscribble &lt;br class='autobr' /&gt;
Il faut alors accepter de lancer mpdscribble comme daemon, puis saisir ses identifiants LastFM.&#160;Une fois cela fait, le service&#160;(&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.momh.fr/blog" rel="directory"&gt;Blog&lt;/a&gt;

/ 
&lt;a href="https://www.momh.fr/linux" rel="tag"&gt;Linux&lt;/a&gt;, 
&lt;a href="https://www.momh.fr/mpd" rel="tag"&gt;mpd&lt;/a&gt;, 
&lt;a href="https://www.momh.fr/lastfm" rel="tag"&gt;LastFM&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Utilisateur de &lt;a href=&#034;https://www.last.fm/user/Astier84&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;LastFM&lt;/a&gt; et de &lt;a href='https://www.momh.fr/mpd-music-player-daemon' class=&#034;spip_in&#034;&gt;&lt;span class=&#034;caps&#034;&gt;MPD&lt;/span&gt;&lt;/a&gt; pour &#233;couter ma musique, je dois pouvoir scrobbler les titres que j'&#233;coute&#160;: mpdscribble est la solution, particuli&#232;rement simple &#224; installer et configurer.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Il faut donc commencer par installer le paquet mpdscribble&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo apt install mpdscribble &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Une fois cela fait, il faut le configurer&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo dpkg-reconfigure mpdscribble &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Il faut alors accepter de lancer mpdscribble comme daemon, puis saisir ses identifiants LastFM.&#160;Une fois cela fait, le service devrait d&#233;marrer et les titres &#233;cout&#233;s appara&#238;tront sur LastFM.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>ncmpcpp, un client pour mpd</title>
		<link>https://www.momh.fr/ncmpcpp-un-client-pour-mpd</link>
		<guid isPermaLink="true">https://www.momh.fr/ncmpcpp-un-client-pour-mpd</guid>
		<dc:date>2011-09-04T14:40:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Brice Boucard</dc:creator>


		<dc:subject>Linux</dc:subject>
		<dc:subject>mpd</dc:subject>
		<dc:subject>terminal</dc:subject>

		<description>
&lt;p&gt;ncmpcpp est un client pour &lt;span class=&#034;caps&#034;&gt;MPD&lt;/span&gt;, plus complet que ncmpc, dont il reprend le m&#233;canisme de navigation, l'interface en ncurse, apportant de nouvelles fonctionnalit&#233;s parmi lesquelles la visualisation, l'&#233;dition des tags, la recherche avec des expressions r&#233;guli&#232;res, une v&#233;ritable navigation au sein de votre collection&#8230; &lt;br class='autobr' /&gt; ncmpcpp est (bien &#233;videmment) disponible dans les d&#233;p&#244;ts&#160;: bash sudo apt install ncmpcpp &lt;br class='autobr' /&gt;
Pour le lancer, la commande suivante suffit&#160;: bash ncmpcpp &lt;br class='autobr' /&gt;
La configuration se&#160;(&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.momh.fr/blog" rel="directory"&gt;Blog&lt;/a&gt;

/ 
&lt;a href="https://www.momh.fr/linux" rel="tag"&gt;Linux&lt;/a&gt;, 
&lt;a href="https://www.momh.fr/mpd" rel="tag"&gt;mpd&lt;/a&gt;, 
&lt;a href="https://www.momh.fr/terminal" rel="tag"&gt;terminal&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;ncmpcpp est un client pour &lt;a href='https://www.momh.fr/mpd-music-player-daemon' class=&#034;spip_in&#034;&gt;&lt;span class=&#034;caps&#034;&gt;MPD&lt;/span&gt;&lt;/a&gt;, plus complet que ncmpc, dont il reprend le m&#233;canisme de navigation, l'interface en ncurse, apportant de nouvelles fonctionnalit&#233;s parmi lesquelles la visualisation, l'&#233;dition des tags, la recherche avec des expressions r&#233;guli&#232;res, une v&#233;ritable navigation au sein de votre collection&#8230;&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;ncmpcpp est (bien &#233;videmment) disponible dans les d&#233;p&#244;ts&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo apt install ncmpcpp &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour le lancer, la commande suivante suffit&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;ncmpcpp &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;La configuration se fait, comme pour ncmpc, &#224; la main, dans le fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;~/.ncmpcpp/config&lt;/code&gt;. On commence par cr&#233;er le r&#233;pertoire &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;~/.ncmpcpp&lt;/code&gt; puis on copie le ficher d'exemple avant de l'&#233;diter&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;mkdir ~/.ncmpcpp cp /usr/share/doc/ncmpcpp/config.gz ~/.ncmpcpp/ gzip -d ~/.ncmpcpp/config.gz nano ~/.ncmpcpp/config &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Si vous avez des difficult&#233;s pour configurer ncmpcpp, penchez-vous sur la documentation&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;man ncmpcpp &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;ll faut relancer ncmpcpp pour que les modifications du fichier de configuration soient prises en compte. Rien de particulier si ce ne sont ces deux points&#160;:&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; pour pouvoir &#233;diter les tags depuis ncmpcpp, il vous faut imp&#233;rativement renseigner le champ mpd_music_dir (ligne 14) qui correspond au r&#233;pertoire de votre musique (celui que vous avez indiqu&#233; dans la configuration de &lt;span class=&#034;caps&#034;&gt;MPD&lt;/span&gt;)&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;;&lt;/li&gt;&lt;li&gt; pour profiter de la visualisation, il faut commencer par modifier la configuration de &lt;span class=&#034;caps&#034;&gt;MPD&lt;/span&gt; et ajouter dans la section Audio Output ces lignes&#160;:
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;audio_output { type &#034;fifo&#034; name &#034;My FIFO&#034; path &#034;/tmp/mpd.fifo&#034; format &#034;44100:16:1&#034; } &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Il faut ensuite &#233;diter certaines options dans le fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;~/.ncmpcpp/config&lt;/code&gt;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;; les voici&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;visualizer_fifo_path = &#034;/tmp/mpd.fifo&#034; visualizer_output_name = &#034;My MPD PulseAudio Output&#034; visualizer_sync_interval = &#034;30&#034; visualizer_type = &#034;spectrum&#034; (spectrum/wave) &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pensez &#224; relancer mpd&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo service mpd restart &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Un fichier de configuration est t&#233;l&#233;chargeable &lt;a href='https://www.momh.fr/IMG/txt/config.txt' class=&#034;spip_in&#034; type='text/plain'&gt;ici&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		
		<enclosure url="https://www.momh.fr/IMG/txt/config.txt" length="15141" type="text/plain" />
		

	</item>
<item xml:lang="fr">
		<title>MPD (Music Player Daemon)</title>
		<link>https://www.momh.fr/mpd-music-player-daemon</link>
		<guid isPermaLink="true">https://www.momh.fr/mpd-music-player-daemon</guid>
		<dc:date>2011-09-02T14:50:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Brice Boucard</dc:creator>


		<dc:subject>Linux</dc:subject>
		<dc:subject>mpd</dc:subject>

		<description>
&lt;p&gt;&lt;span class=&#034;caps&#034;&gt;MPD&lt;/span&gt; (Music Player Daemon) est un lecteur audio fonctionnant selon l'architecture client-serveur. Nous n'allons aborder ici que l'aspect serveur, pris en charge par &lt;span class=&#034;caps&#034;&gt;MPD&lt;/span&gt;, et verrons ult&#233;rieurement le c&#244;t&#233; client (en l'occurrence ncmpcpp). Si &lt;span class=&#034;caps&#034;&gt;MPD&lt;/span&gt; peut appara&#238;tre au premier abord assez complexe, il n'en demeure pas moins un outil extr&#234;mement int&#233;ressant ne serait-ce que pour sa l&#233;g&#232;ret&#233; et la flexibilit&#233; qu'un tel syst&#232;me propose. Sans chercher &#224; p&#233;n&#233;trer trop avant dans les arcanes de sa&#160;(&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.momh.fr/blog" rel="directory"&gt;Blog&lt;/a&gt;

/ 
&lt;a href="https://www.momh.fr/linux" rel="tag"&gt;Linux&lt;/a&gt;, 
&lt;a href="https://www.momh.fr/mpd" rel="tag"&gt;mpd&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;&lt;span class=&#034;caps&#034;&gt;MPD&lt;/span&gt; (Music Player Daemon) est un lecteur audio fonctionnant selon l'architecture client-serveur. Nous n'allons aborder ici que l'aspect serveur, pris en charge par &lt;span class=&#034;caps&#034;&gt;MPD&lt;/span&gt;, et verrons ult&#233;rieurement le c&#244;t&#233; client (en l'occurrence &lt;a href='https://www.momh.fr/ncmpcpp-un-client-pour-mpd' class=&#034;spip_in&#034;&gt;ncmpcpp&lt;/a&gt;). Si &lt;span class=&#034;caps&#034;&gt;MPD&lt;/span&gt; peut appara&#238;tre au premier abord assez complexe, il n'en demeure pas moins un outil extr&#234;mement int&#233;ressant ne serait-ce que pour sa l&#233;g&#232;ret&#233; et la flexibilit&#233; qu'un tel syst&#232;me propose. Sans chercher &#224; p&#233;n&#233;trer trop avant dans les arcanes de sa configuration, il est possible d'obtenir un outil fonctionnel tr&#232;s rapidement et finalement assez facilement. La preuve&#8230;&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Pour commencer, il faut installer le paquet mpd&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo apt install mpd &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;puis lancer la commande suivante afin de cr&#233;er le daemon&amp;nbsp&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo dpkg-reconfigure mpd &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;C'est &#224; ce moment-l&#224; que les choses semblent se corser, mais rien de bien alarmant non plus&#160;: il va nous falloir modifier le fichier de configuration de &lt;span class=&#034;caps&#034;&gt;MPD&lt;/span&gt;. Commen&#231;ons&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo nano /etc/mpd.conf &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Il faut commencer par renseigner les chemins vers les r&#233;pertoires o&#249; se trouvent notre musique et o&#249; seront stock&#233;es les playlists&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;music_directory &#034;/Multimedia/Musique&#034; playlist_directory &#034;/home/user/.mpd/playlists&#034; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;On commente (ajout d'un # en d&#233;but de ligne) la ligne suivante&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;user &#034;mpd&#034; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Que vous utilisiez &lt;span class=&#034;caps&#034;&gt;ALSA&lt;/span&gt; ou PulseAudio, les sorties audio sont d&#233;j&#224; configur&#233;es et fonctionnent par d&#233;faut chez moi&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;audio_output { type &#034;alsa&#034; name &#034;My ALSA Device&#034; device &#034;hw:0,0&#034; # optional mixer_type &#034;hardware&#034; # optional mixer_device &#034;default&#034; # optional mixer_control &#034;PCM&#034; # optional mixer_index &#034;0&#034; # optional } audio_output { type &#034;pulse&#034; name &#034;My MPD Pulse Output&#034; server &#034;127.0.0.1&#034; # optional # sink &#034;remote_server_sink&#034; # optional } &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Avec PulseAudio, lancez l'utilitaire &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;paprefs&lt;/code&gt; et v&#233;rifiez dans l'onglet &#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;Network Server&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187; que &#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;Activer l'acc&#232;s r&#233;seau aux p&#233;riph&#233;riques de son locaux&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187; et &#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;Don't require authentification&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187; soient bien coch&#233;s.&lt;/p&gt;
&lt;p&gt;Le plus dur est fait. Il ne nous reste plus qu'&#224; relancer &lt;span class=&#034;caps&#034;&gt;MPD&lt;/span&gt; avec la commande suivante&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo service mpd restart &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;et &#224; cr&#233;er la base de donn&#233;es recensant l'ensemble des morceaux disponibles&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo mpd --create-db &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour suivre la progression de cette derni&#232;re op&#233;ration (qui peut s'av&#233;rer longue si vous avez beaucoup de morceaux) vous pouvez utiliser la commande suivante&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;tail -f ~/.mpd/mpd.log &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Bien que le client soit facultatif, nous vous pr&#233;sentons &lt;a href='https://www.momh.fr/ncmpcpp-un-client-pour-mpd' class=&#034;spip_in&#034;&gt;ncmpcpp&lt;/a&gt;, un client en ncurse extr&#234;mement l&#233;ger, facile &#224; utiliser et &#224; configurer, &#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;grand fr&#232;re&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187; de ncmpc.&lt;br class='autobr' /&gt;
De plus si vous &#234;tes un utilisateur de &lt;a href=&#034;https://www.last.fm/user/Astier84&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;LastFM&lt;/a&gt;, vous souhaitez bien &#233;videmment pouvoir scrobbler la musique que vous &#233;coutez avec &lt;span class=&#034;caps&#034;&gt;MPD&lt;/span&gt;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;; pour cela il existe &lt;a href='https://www.momh.fr/mpdscribble-mpd-et-lastfm' class=&#034;spip_in&#034;&gt;mpdscribble&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
