Domotique Open source & high Tech
Multiroom audio DIY à base de Raspberry PI, LMS et Android !

Multiroom audio DIY à base de Raspberry PI, LMS et Android !

Salut les amis ! c’est Zak.  Aujourd’hui je vais vous parler de multiroom audio, de quoi s’agit-il ? et  comment construire un système DIY pas cher à base de Raspberry PI ?

le multiroom c’est quoi ?

le multiroom audio, comme son nom l’indique « multi-chambre » est un système sans fils, qui permet de diffuser du son dans plusieurs pièces de la maison, que ça soit d’une manière simultanée (même chanson/même station radio) ou selon le goût de chacun des habitants.

regardons ce schéma :

multiroom audio

Le petit garçon est dans sa chambre entrain d’écouter une playlist de son chanteur préféré, le père dans la chambre à coucher entrain d’écouter les news, alors que la mère écoute sa station radio préférée sur tout le reste de la maison. Les enceintes réparties dans les pièces, reçoivent le message sonore depuis une source (un serveur), sur laquelle on trouve de la musique stockée en local.

Le système est donc composé de players ou diffuseurs (récepteurs), et d’une centrale (serveur)  contenant de la musique stockée en local, ainsi q’une interface, permettant de jouer des morceaux en streaming, écouter la radio, ou jouer du TTS, elle permet : de choisir quel morceau à jouer, et dans quelle pièce, de contrôler le volume sur chaqu’un des diffuseurs ainsi que les synchroniser pour diffuser la même musique.

Le multiroom Raspberry PI

Pour réaliser un système multiroom nous allons avoir besoin d’ordinateurs et d’enceintes. Le but de ce tuto et de faire un multiroom DIY à coût bas, qui nous permet : de recycler des vieux haut parleurs, ou encore  moderniser une veille chaine hifi (enceintes),  et ce, en les combinant avec des Raspberry PI et d’appareils Android (ordinateurs).

Côté software on va utiliser le LMSLogitech media server‘, sa version complète ‘Squeezebox server‘ pour la serveur, et sa version lite ‘Squeezelite‘ pour les diffuseurs, afin de les transformer en ‘platines’ découvrables par le serveur et capables de lire le message sonore.

Pour notre cas, on vas installer une version linux sur Raspberry PI. sachant que tout autre ordinateur fera l’affaire et qu’il existe aussi une version pour Windows. Aussi, il existe une application Android capable de transformer une tv box ou un smartphone en platine Squeezelite.

Pour mieux comprendre, voici une image de mon installation actuelle :

multiroom Logitech media server

comme vous voyez sur la photo, j’utilise :

1- un smartphone ‘Sony Xperia Z3’  (avec écran cassée) accouplé avec une enceinte bluetooth, sur lequel j’ai installé l’application squeezeplayer.

2- une tv box Android dans la chambre à coucher accouplée avec une enceinte bluetooth qui me sert pour mon scénario domotique de réveil. (à l’occasion pour ceux qui cherche acheter une tv box de qualité je recommande vivement cette marque Nexbox, cela fait 18 mois qu’elle tourne H24 7/7 sans aucun soucis).

3- un Raspberry PI qui fait tourner Volumio, ce dernier est un serveur musical installé sur une distribution Raspbian avec la fonction Squeezelite dessus, et par conséquent reconnaissable par le serveur LMS. il contient déjà les drivers nécessaires pour l’utilisation de DAC  (carte d’extension pour Raspberry PI qui donne une bonne qualité sonore).

4- un autre Raspberry PI qui fait de la vidéo-surveillance avec Raspbian et motion, sur lequel j’ai installé Squeezelite en ligne de commande.

vous m’avez compris, je préfère toujours utiliser Raspbian pour profiter au maximum des Raspberry PI.  je n’ai fait donc que rajouter ‘Squeezebox server‘ et ‘Squeezelite‘ sur des  Raspberry PI qui font déjà tourné d’autres trucs.

Installation de Logitech Media Server ‘Squeezebox server’

On part du principe que vous ayez Raspbian installé et configuré sur un Raspberry PI (si vous ne savez pas le faire, vous pouvez se rendre sur mon tuto de video-surveillance)

En ssh ou sur le terminal de l’interface graphique on tape la commande suivante :

sudo apt-get install -y libsox-fmt-all libflac-dev libio-socket-ssl-perl

squeezebox server

il s’agissait d’installer quelques dépendances nécessaires au fonctionnement de LMS, on lance le téléchargement de ce dernier avec la commande suivante :

wget http://downloads.slimdevices.com/LogitechMediaServer_v7.9.1/logitechmediaserver_7.9.1_all.deb

squeezebox server install

ensuite :

sudo dpkg -i logitechmediaserver_7.9.1_all.deb

squeezebox server install 2

l’installation terminée, on tape sur un navigateur l’adresse IP de notre Raspberry avec le port 9000 comme suit :

http://ip_raspberry_pi:9000

on tombe sur cette page de configuration. vous pouvez créer un compte en ligne, mais ce n’est pas vraiment nécessaire, pour l’instant cliquer sur ‘Suivant’

logitech media server installer

sur la deuxième page on aura à renseigner le dossier où est stockée la musique. personnellement j’utilise un disque dur, mais pour ce tuto j’ai utilisé une clé USB. pour la monter c’est facile vous pouvez suivre ce tuto, sinon vous copier votre musique directement sur la carte SD.

logitech media server installer 2

on renseigne le même dossier pour les playlists, enfin on clique sur ‘Terminer’

on tombe sur la page d’accueil de Logitech Media Server. notre ‘Squeezebox server‘ est maintenant fonctionnel. vous pouvez remarquer sur la photo qu’il a détecté ma platine ‘volumio’ il suffit de choisir le morceau et le lire.

logitech media server installer 3

comme je vous ai dit avant, il est possible d’installer des serveur audio pour Raspberry PI, comme Volumio ou piCoplayer, qui contiennent la fonction ‘Squeezelite‘, mais je vous montrerai comment installé celle-ci en ligne de commande, pour profiter d’autres Raspberry PI qui font d’autres fonctions.

NB : pour désinstaller LMS : sudo dpkg -r logitechmediaserver

Installation de Squeezelite sur Raspberry PI, Platine pour LMS

Pour rappel Squeezelite est la version de LMS qui ne possède pas d’interface utilisateur et doit être contrôlée via l’interface Web de Logitech Media Server. elle permet de transformer le Raspberry PI en platine, ‘lecteur’.

l’installation est simple il suffit de taper :

sudo apt-get install squeezelite

s’assurer ensuite de la présence de ce codec :

sudo apt-get install libflac-dev

et finalement modifier le fichier de config comme suit :

sudo nano /etc/default/squeezelite

enlever le hashtag devant cette ligne : et mettre « -a 180 »

# SB_EXTRA_ARGS=””
SB_EXTRA_ARGS=”-a 180″

ce paramètre a pour but de booster le rendu audio du Raspberry PI.

ctrl+o pour sauvegarder ctrl+x pour quiter

squeezelite

comme par magie, notre nouvelle  platine est découverte par le serveur LMS.

LMS interface

 

Squeezelite sur Android

Pour couvrir toutes les pièces et avoir un bon multiroom, il est nécessaire d’avoir plusieurs platines Squeezelite, dans cette partie, je vous parle d’applications Android, permettant de transformer un appareil Android en lecteur pour LMS, ils fonctionnent en permanence en arrière plan, sans affecter le fonctionnement de l’appareil, cela permet par exemple à récupérer un smartphone qui traîne et le brancher sur une chaine Hifi.

on trouve sur playstore ‘SB Player’ et ‘SqeezePlayer‘, j’ai testé la deuxième. une fois installé, elle détecte le serveur LMS, sinon vous pouvez le renseigner manuellement.

et voila côté LMS :

lms server

 

Télécommande LMS :

il existe plusieurs applications de télécommandes gratuites et payantes, j’ai testé Squeezer (gratuite) et Squeeze Ctrl (payante) et je vous dirai qu’il n’y a pas vraiment de grande différence.

Mon tuto touche à sa fin, je vous donne rendez-vous très prochainement avec un tuto domotique, n’hésitez pas de lâcher un commentaire, soutenir le blog en partageant sur les réseaux, et nous suivre si vous ne l’êtes pas encore !

Á bientôt !

Partager sur :

7 réflexions au sujet de “Multiroom audio DIY à base de Raspberry PI, LMS et Android !

  1. Je voudrai installer un PI3B+ avec volumio et une carte DAC ou SPDIF (hifiberry ou autre) …Jusque là je dois savoir faire il y a des tutos bien faits et compréhensibles que j’ai parcouru et c’est assez simple … Maintenant cela se complique…! j’aimerai avoir un ecran branché directement su le PI (visiblement il faut aller dans les plug ins de volumio pour avoir une fonction UI sur un ecran relié au PI ) mais quel ecran choisir ? (si possible dans les 7″ pour avoir une visualisation correcte à coté de la chaine Hifi) Mais comment brancher ses ecrans car je crois qu’ils prennent des GPIO , hors la carte DAC rajoutée en prends aussi.. ? Et une fois tout cela resolu : PI + Carte DAC + Volumio + ecran ; comment faire un multiroom dans 2 autres pièces etant donné que dans ces 2 pieces supplémentaires il n’y a pas besoin d’avoir un son hifi comme dans la piece principale ou le PI est raccordé à la chaine HiFi … En lisant votre Tuto je ne sais pas si tout cela est possible… Merci

    • Bonjour, pour Volumio il existe des Dacs spécifique pour connecter une écran 3.5, mais comme tu veux une écran de 7 tu n’auras pas de problème de gpio, car ça se branche en Hdmi comme celle-ci et avec nappe comme celle-la . mais pour le multiroom tu auras besoin d’un autre raspberry ou un pc windows pour installer LMS si tu veux une musique synchronisée et sans latence, avec volumio seul, il y a la possibilité de caster en Upnp ou Airplay mais ce n’est pas un multiroom.

  2. Bonsoir, merci pour votre réponse, donc ce genre d’écran est plug and play ??? ou y a t il des lignes de code à rajouter dans la distrib volumio ? Apres il suffit via la page « plugin » de Volumio d’installer l’interface UI de volumio , c’est ça?

    Pour le multiroom , j’ai entendu parler d’un plug in qui s’installe aussi simplement via la page « plugin » et qui ferait du multiroom , mais j’ai oublié le nom du plug??? Quand je parle de multiroom ce n’est pas un programme différent dans chaque pièce mais bien le meme Merci et bonne soirée

    • bon! je n’ai jamais testé ça, mais les écrans que je t’ai montré sont exactement les recommandées par l’équipe de Volumio, il suffit d’installer le plugin ‘Touch Display Plugin’ et ça marche, si tu veux utiliser un Dac tu prends l’écran avec port hdmi car l’autre occupe l’i2c. pour la synchronisation je crois qu’il existe un plugin ‘snapcast’qui n’est pas officiel, à télécharger et voir ce que ça donne. même s’il y a beaucoup qui disent que la synchronisation est mal avec Volumio.
      sinon en parcourant les plugins j’ai vu qu’il y a un plugin ‘logitech media server’ donc tu peux l’ajouter à ton volumio, et créer des platines avec squeezelite ou un autres volumio.
      Voila! j’espère que j’ai été clair, si javais le temps j’aurai testé. bonne chance !

  3. Merci, peut-être un jour un tuto avec volumio et « logitheque media server » (ce qui est une excellente nouvelle qu’un plugin volumio existe…) , ça va pas être simple..! je vais essayer de me debrouiller ..merci

Laisser un commentaire

© 2018 Made with love by OumaWEB
Inline
Inline