Streamer Audio : Volumio

Streamer Audio : Volumio

Introduction

Aujourd’hui il y a plein de manières de diffuser de la musique dans son salon. La première source à laquelle je pense est très certainement la TV connectée. Les services de musique ont pour la plupart lancé des applications sur les TV connectées. Et cet article peut s’arrêter ici, mais comme on aime faire les choses différemment, et comme une TV de plus de 55p peut consommer énormément d’énergie, on va utiliser une autre source.

Il existe plusieurs distribution Linux « optimisées » pour diffuser du son. Volumio est certainement la plus ancienne et la plus connue. Mais dernièrement j’ai vu fleurir des alternatives comme Balena Sound (de l’éditeur qui produit Etcher, nous permettant de faire des clés USB bootables), MoodeAudio, RoPieee, etc.

Il me semble que les développeurs de l’interface de Volumio ont lancé RuneAudio (il y a de l’argent à se faire dans le monde des audiophiles). La plupart de ces solutions se basent sur un Raspberry Pi pour l’installation car ne consomme pas beaucoup d’énergie. Celui-ci peut rester branché H24 à côté de la chaine HiFi.

Solution choisie

Comme j’ai une vieille tablette x64 (sur Atom) qui traine je vais essayer de la recycler en installant Volumio dessus. Volumio fournit aussi sa distribution pour les PCs traditionnels. Ce qui est une bonne chose car on n’a pas tous des Raspberry qui trainent dans notre collection de matos…

Note : Sur la photo, qui illustre l’article, Volumio vend ses appliances directement « prêtes à l’emploi ». Mais fournit aussi des images qu’il suffit d’installer sur une carte SD ou clé USB.

Ma tablette était jusqu’à présent utilisée avec Windows et connectée directement en USB via un câble USB OTG à mon DAC intégré à mon ampli. Spotify était installé dessus et servait juste de source « Spotify Connect » dans le salon. Cela limite fortement l’utilisation mais suffisant si on utilise que Spotify. Mais comme le but est de tester aussi Apple Music il me fallait une solution plus complète.

Ma tablette n’est pas « Linux friendly » mais bon il faut aller jusqu’au bout de la démarche…

Installation / Configuration

Pour installer Volumio il suffit de booter sur une clé USB préparée par Balena Etcher avec la distribution correspondante… Après ce démarrage Volumio s’affiche directement sur la tablette (mais dans mon cas en sens portrait). On peut lancer l’installation sur le disque local depuis la clé USB (ce que j’ai fait).

Volumio peut être configuré en mode « sans écran », il crée pour cela un hotspot et en se connectant au hotspot il est possible de configurer le Wifi pour qu’il se connecte au réseau domestique via un navigateur Web (192.168.211.1).

Il est aussi possible d’activer le serveur SSH pour configurer plus finement Volumio. Pour cela il faut se connecter sur « http://volumio.local/dev/ » et activer le serveur SSH, après il suffit de faire un petit « ssh [email protected] » avec le mot de passe « volumio ».

Par défaut « Airplay » fonctionne out of the box (s’appuyant sur l’implémentation de ShairPort). Il faut par contre installer et configurer le plugin Spotify pour qu’il fonctionne (rien de bien compliqué depuis l’interface Web, il suffit de rentrer son login et mot de passe de compte Spotify).

Tuning

J’ai du faire un peu de tuning sur ma tablette pour qu’elle « fonctionne » convenablement.

Tout d’abord pour la passer en mode paysage (inversé, car le portable/tablette peut être plié en 2 pour qu’elle tienne debout tout seul en forme de « toit »).

Il faut créer un fichier « xorg.conf » dans le dossier /etc/X11 :

Il est possible de créé un fichier « exemple » avec la commande « Xorg -configure », j’ai après ajouté l’option pour faire pivoter l’écran.

Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
        Option "Rotate" "left"
EndSection

Après rotation de l’écran, le tactile lui ne bouge pas il faut donc ajuster « sa matrice de calibration », pour cela il suffit juste d’éditer le fichier « /usr/share/X11/xorg.conf.d/40-libinput.conf » et d’ajouter l’option adéquate :

Section "InputClass"
        Identifier "libinput touchscreen catchall"
        MatchIsTouchscreen "on"
        MatchDevicePath "/dev/input/event*"
        Option "CalibrationMatrix" "0 -1 1 1 0 0 0 0 1"
        Driver "libinput"
EndSection

Dernière petite astuce, il est possible d’augmenter « le zoom » dans la page affichée par défaut dans Volumio, en effet au lancement de Volumio, celui-ci lance une page Chrome qui pointe sur « lui-même ». Il suffit de rester appuyer sur CTRL et de scroller avec la molette pour ajuster la taille de la police (ou CTRL + [+]).

Conclusion / Bonus

Ma réaction à chaud est plutôt positive, pour l’instant je n’ai pas subi de coupure de service, ni de moment ou la chanson « rame » un peu… Comme c’est un service réseau ça arrive inévitablement, mais c’est heureusement très peu courant. Je l’ai moins testé sous Spotify Connect, car l’objectif premier est d’ajouter l’Airplay à l’installation Hifi existante. De plus les applications Spotify sous iOS et macOS peuvent aussi diffuser via Airplay.

J’ai fait une mesure de consommation à la prise, sachant que ce n’est pas une mesure précise mais on tourne autour de 5,4-7W, sachant que l’écran doit être le plus consommateur (écran 1920×1200 en IPS – luminosité à fond). Ce qui est raisonnable face aux Raspberry qui sont le plus souvent sans écran.

Bon le test d’Apple Music sera fait dans un article séparé, donc « stay tuned ». Et j’approfondirais peut-être plus le test de Volumio. Cela dépendra de ma volonté et du temps que j’ai envie d’y consacrer.