Réalisation de mon multiroom audio à base de Raspberry Pi et Hifiberry

II. Installation logicielle

J'ai testé différentes suites logicielles pour cette installation, car il fallait en trouver une supportant facilement la carte Hifiberry. J'étais parti au début sur la suite piCorePlayer, très légère, et supportant le matériel:

multiroom_hifiberry_1Mais finalement je me suis orienté vers Max2Play, qui intègre maintenant Squeezeplug, que je vous avais présenté ici. Plusieurs raisons à cela:

  • une installation ultra simple, il suffit de copier les fichiers sur la micro SD. Pas besoin d'utilitaire pour écrire l'image sur la carte, un simple glisser déposer.
  • une gestion complète via interface web, pas une seule ligne de commande à taper
  • le support de différents plugins pratiques, avec des nouveautés qui sortent assez régulièrement
  • certaines fonctionnalités pré installées comme le plugin Airplay
  • etc…

Seule chose à signaler, l'obligation d'acheter une licence à 9€ pour pouvoir utiliser la carte Hifiberry (ce qui débloque aussi d'autres options du Raspberry). Pas vraiment cher, étant donné que la même licence peut être utilisée sur les 7 Raspberry pi.

Note: il semblerait que la version gratuite intègre maintenant les cartes Hifiberry.

2.1 Installation de la partie commune

Les 7 raspberry pi ont la même base commune. Seuls quelques ajustements seront faits à la fin entre les clients et le serveur.

On commence donc par télécharger Max2Play, qui une fois décompressée va nous donner ces fichiers. Il suffit de les copier coller sur notre carte micro SD:

multiroom_hifiberry_2Il ne reste plus qu'à insérer la micro sd dans le Raspberry pi et à le démarrer (tous les branchements ont été faits précédemment). Pas besoin de brancher un écran, il suffit d'attendre un quart d'heure que l'installation se fasse automatiquement. Au bout d'un quart d'heure, un appareil (ou plusieurs si vous faites tout dans la foulée) devrait apparaitre sur votre réseau. Il suffit de taper l'adresse IP dans votre navigateur pour accéder à l'interface.

reseaurpiSi vous êtes curieux, si on branche un écran, voici ce qu'on verra:

multiroom_hifiberry_42Le défilement de l'installation en cours:

multiroom_hifiberry_43Puis après un redémarrage les informations habituelles au démarrage du Raspberry Pi. Bref, rien  qui ne demande votre intervention, c'est automatique, donc on peut se passer de brancher un écran.

multiroom_hifiberry_44Quand on saisit l'adresse IP du raspberry dans le navigateur internet, on arrive sur cette page, qui nous présente un peu la solution:

multiroom_hifiberry_3Plusieurs onglets sont disponibles pour configurer différentes options. L'onglet Audioplayer donne accès aux réglages du client Squeezelite, Airplay (appelé ici Shairport), DLNA, etc…

multiroom_hifiberry_4On peut sélectionner la sortie audio à utiliser, mais comme on le voit la carte Hifiberry n'est pas proposée, nous n'avons que les sorties habituelles du RPI:

multiroom_hifiberry_5Il faut en fait acheter une licence sur le site Max2Play, qui donnera accès à l'ensemble des plugins de la solution. A payer une seule fois pour tous les Raspberry, ce qui reste très correct.

multiroom_hifiberry_12Une fois la licence achetée, il suffit de se rendre dans l'onglet “Settings/Reboot” et d'indiquer l'adresse mail utilisée pour acheter la licence. On peut en profiter aussi pour donner un nom au Raspberry (exemple Salon, Chambre, etc…, c'est le nom qui apparaitra sur le réseau et pour la gestion du multiroom). On peut aussi sélectionner la langue française (tous les textes ne sont pas traduits, mais une bonne partie tout de même):

multiroom_hifiberry_6Tout en bas de la page, on peut indiquer le lien de téléchargement des plugins et les activer:

multiroom_hifiberry_7On indique donc ici le lien http://shop.max2play.com/media/downloadable/currentversion/raspberrysettings.tar pour installer l'extension qui permettra d'utiliser la carte Hifiberry, puis on clique sur “Install new plugin”.

multiroom_hifiberry_8L'installation se fait automatiquement:

multiroom_hifiberry_9Il ne reste plus qu'à activer le plugin “Raspberry Settings” en le sélectionnant, en cliquant sur le bouton “>” pour le passer dans les plugins activés, puis d'enregistrer avec le bouton juste en dessous:

multiroom_hifiberry_10Un nouvel onglet “Raspberry Settings” apparait. En se rendant dessus, une liste déroulante permet de sélectionner notre carte HifiBerry. Comme on le voit différents modèles sont supportés:

multiroom_hifiberry_11On peut aussi overclocker le Raspberry si on le souhaite, mais ce ne sera pas nécessaire ici:

multiroom_hifiberry_15Une fois les réglages enregistrés, il nous est signalé que notre carte Hifiberry ne peut pas être utilisée par plusieurs logiciels simultanés. Autrement dit, elle ne pourra ici pas être utilisée par Squeezelite et Shairport :/ Pas de soucis, nous utiliserons une autre astuce, indiquée d'ailleurs par Max2Play.

multiroom_hifiberry_17Pour que la carte soit disponible dans Squeezelite, il faut redémarrer le Raspberry Pi. On peut le faire facilement via le bouton “Reboot” dans l'onglet Settings.

multiroom_hifiberry_16Une fois le Raspberry redémarré, on se rend dans l'onglet Audioplayer, puis “Edit Advanced Options”:
multiroom_hifiberry_18On sélectionne la carte Hifiberry (celle avec sysdefault fait l'affaire), et dans Alsa Parameter personnellement j'ai modifié en 2000:4:: qui permet d'avoir 2000ms de cache pour éviter toute coupure de son:

multiroom_hifiberry_19Au passage on peut désactiver le lancement de Shairport au démarrage, puisqu'il ne sera finalement pas utile.

Enfin, une mise à jour Max2Play sera sans doute proposée, cette suite évoluant assez régulièrement. On peut donc lancer la mise à jour, via l'onglet Settings:
multiroom_hifiberry_22Ces manipulations sont donc à faire pour chaque Raspberry Pi. Les connaisseur pourront faire une copie de la première carte et la dupliquer sur les autres, mais la configuration présentée ici va assez vite à réaliser.

Passons maintenant aux petites spécificités.

2.2 Installation du serveur

Ayant un Nas Synology à la maison, on pourrait se demander pourquoi je n'ai pas installé la partie Squeezebox serveur sur le Nas tout simplement. En fait je me suis heurté à un problème durant mes tests pour avoir la compatibilité Airplay.

Sur Max2Play, nous avons Shairport, qui permet d'avoir le Airplay sur le Raspberry. Sauf que la carte Hifiberry ne peut pas être utilisée à la fois par Squeezelite et Shairport (je n'avais en effet aucun son sur ce dernier). Dans ce cas Max2Play indique une astuce, en installant un plugin Airplay directement dans la partie Squeezebox, puisqu'il est possible d'y installer de nombreux plugins. Ainsi comme tout est géré par Squeezelite, celui ci switche automatiquement le son comme il faut. Problème: le plugin en question est un peu compliqué à installer, sur le Synology il nécessitait diverses lignes de codes à exécuter en console. D'une part malgré les tutos je n'ai pas réussi à le faire fonctionner, d'autre part ces modifications du système sont écrasées à chaque mise à jour Synology, il aurait donc fallu refaire la manip à chaque fois. Ce n'est pas le plus pratique :/ C'est pourquoi j'ai finalement décidé d'installer la partie serveur sur un Raspberry Pi, en prenant un RPI 2 pour ne pas avoir de problème de performances (puisqu'il fera office de serveur ainsi que de client pour le séjour). Et là, le plugin s'installe tout seul, puisqu'il est proposé directement par Max2Play :D

Pour installer la partie serveur, on commence donc par aller dans l'onglet Squeezebox Server, on clique sur “Show available Versions” pour récupérer les versions disponibles de LMS (Logitech Media Server), puis on clique sur “Démarrer l'installation de Squeezebox Server”:

multiroom_hifiberry_23L'installation prend quelques minutes mais se fait automatiquement:

multiroom_hifiberry_24Veillez bien à cocher “Démarrage automatique Squeezebox Server” pour qu'il se lance automatiquement quand le Raspberry Pi démarre.

multiroom_hifiberry_25Enfin, tout en bas, sélectionnez le plugin “Shairtunes Plugin” et cliquez sur “Install choosen Plugin”. Le plugin Airplay va s'installer tout seul sur la partie Squeezebox Server”.

Dernière étape: perso ma musique est hébergée sur mon Nas. On va donc ajouter le partage réseau. Pour cela on va sur l'onglet “Système de fichiers monté”, et on ajoute un partage réseau comme indiqué dans l'exemple, en renseignant le chemin réseau vers l'endroit où se trouve votre musique, en indiquant ensuite vers quel répertoire du Raspberry ce dossier sera monté, puis en indiquant les identifiants pour pouvoir se connecter à ce partage réseau:

multiroom_squeezebox_6Si vous n'avez pas de Nas, votre musique peut tout à fait être stockée sur un disque dur externe branché en Usb au Raspberry faisant office de serveur.

Redémarrez ensuite le Raspberry. Une fois redémarré, revenez dans l'onglet Squeezebox Server et cliquez sur le lien “Open Squeezebox Server Webadministration”. Vous accéderez à l'interface de gestion du système Squeezebox. La première fois le système vous demandera d'indiquer où se trouve votre musique, vous indiquerez donc le dossier monté précédemment.

multiroom_squeezebox_8Rendez vous ensuite dans les paramètres, en cliquant tout en bas à droite. Ensuite, rendez vous dans l'onglet Plugins, et veillez bien à ce que le plugin Shairtunes soit activé pour pouvoir bénéficier de l'Airplay.

multiroom_squeezebox_9Si vous voulez également profiter de Spotify, décochez le plugin Spotify d'origine, pour activer celui de Triode, qui fonctionne nettement mieux (s'il n'apparait pas cochez en bas “afficher les plugins tiers”). Il faudra en revanche avoir un compte Premium pour pouvoir profiter de Spotify. Les identifiants de votre compte Spotify devront être renseignés en cliquant sur “Paramètres” à côté du nom du plugin.

Ces deux plugins vous permettront d'avoir Airplay sur chacune de vos Squeezebox, ainsi que Spotify :D

C'est fini pour la partie serveur.

2.3 Installation du client

On va finaliser l'installation des Raspberry faisant office de clients en installant le plugin SD Card Protection. Ce plugin a pour effet de mettre la carte SD en lecture seule afin de protéger le système de toute mauvaise manipulation ou de coupure de courant (ce qui évitera à la micro sd d'être corrompue).

On retourne donc dans la configuration Max2Play, puis on indique le lien http://shop.max2play.com/media/downloadable/currentversion/sdcardprotection.tar dans la partie ajout de plugin. On clique sur “Install new Plugin”.

multiroom_squeezebox_1Comme d'habitude, l'installation se fait toute seule.

multiroom_squeezebox_2Un nouvel onglet apparait “SD Card Protection”. Une fois sur cet onglet, cliquez sur “Install” pour que le plugin soit actif.

multiroom_squeezebox_3Vous verrez apparaitre le message “Enabled” vous confirmant que la protection est bien active.

multiroom_squeezebox_4Un message en jaune apparaitra également sur les différents onglets vous rappelant que la protection est active. Si jamais vous avez besoin de modifier un paramétrage, il suffira de revenir sur l'onglet SD Card et activer l'écriture jusqu'au prochain redémarrage.

multiroom_squeezebox_5Attention: ne surtout pas activer ce plugin sur le Raspberry faisant office de serveur, sinon le serveur Squeezebox ne fonctionnera plus (il faudra désinstaller le plugin SD Card).

Il est temps maintenant de voir comment s'utilise ce système multiroom. Suite page suivante…

Pour information, cet article peut contenir des liens affiliés, sans aucun impact sur ce que vous gagnez vous même ou le prix que vous pouvez payer pour le produit. Passer par ce lien vous permet de me remercier pour le travail effectué sur le blog chaque jour, et d'aider à couvrir les dépenses du site (hébergement, frais de port pour les concours, etc.). Ca ne vous coute rien, mais ca m'aide beaucoup ! Merci donc à ceux qui joueront le jeu !

Inscrivez vous à notre newsletter !

Ne ratez plus aucun article, test de produit ou guide, grâce à un mail dans votre boite chaque vendredi !

205 Commentaires
  1. Wahoo, le projet et la réalisation sont vraiment impressionnantes.
    Il ne manque plus que la détection automatique de la pièce dans laquelle tu te trouve pour que le son te suive lorsque tu te déplace chez toi ;)
    En tout cas, chapeau

  2. Merci ! Le suivi de la musique devrait être réalisable avec le plugin Jeedom qui va arriver. J’ai des détecteurs de mouvement dans chaque pièce, il devrait être facile de lancer une synchro entre les différentes pièces en fonction de la présence des personnes, et couper les pièces inoccupées. Ca fera l’objet d’un prochain article ;-)

    • Bonjour Cedric,
      Your blog about building a 7-board Hifiberry setup is very similar to something I am trying to do. There is however one thing that I am struggling with: power supply.
      I have only a very basic knowledge of electronics, and am trying to find a correct power supply to buy. I will have probably 8-10 Raspberry-2 boards, each with Hifiberry Amp2.
      Hifiberry tells me to supply 55-60W per board at preferably 18V DC. After trying and trying, I am unable to find which power supply to buy and where.
      Do you have any tips for me what and where to buy? I live in the Netherlands, so it needs to be from a shop which delivers to there.
      I hope you can help and give some advice.

      Merci! – Gerard

  3. Je te retourne le compliment, très belle intégration ;)

  4. Petite question –> je souhaite également faire du multiroom. Par contre je n’ai pas de cable audio qui se ballade dans mes murs ;(
    Je pense donc brancher le tout en Wifi (est-ce assez stable ? )
    Comment gérer l’alimentation du hifiberry au cas par cas ?
    J’ai déjà une bibliothèque itunes très bien rangée et organisée !!! des heures et des heures de recherche !! sera-t-elle compatible avec le server squeezbox ?
    Merci d’avance pour les réponses et bravo !!

  5. Salut Cédric!
    Merci de cet excellent tuto en complément de celui d’Aurel de domoblog.

    N’y connaissant rien en RPi et souhaitant me lancer, notamment pour du multiroom audio, j’ai une question.
    Est-ce possible d’utiliser le RPi2 pour le server et de coller une jeedom dessus aussi?
    ou autre soft, genre Mysensors? ou un module Bluetooth pour lier du parrot Flower Power?
    ou bien est-ce : un Pi, un soft?

    Merci

  6. j’ai la même question pour le wifi.
    faut-il le laisser actif comme Korben le présente ici:?
    http://korben.info/raspberry-pi-comment-garder-le-wifi-toujours-actif.html

    pour l’alim voici ce qu’il faut:
    https://www.hifiberry.com/guides/connecting-power-supply-and-speakers-to-the-hifiberry-amp/

    Squeezbox gère parfaitement mon dossier de musique très bien rangé; tout comme le fait iTunes. La présentation peut varier en fonction de l’appli télécommande que tu vas utiliser

  7. Top top tout ça ! Ça me donne envie de tester cette fameuse carte, merci pour ce retour d’expérience !

  8. Merci pour ce super tutos, J’ai mis en place la solution chez moi en une après midi :) (deux RPi branché sur un ampli + un Rpi pour le serveur).
    Il faut que je trouve un moyen d’interfacer ça avec Fibaro

  9. On est d’accord qu’il me faut 2 Alimentations : 1 pour RPI et 1 pour Hifiberry ???

  10. Non, le hifiberry alimente le RPi en retour.
    il n’en faut qu’une pour le Hifiberry

  11. Avec ton dernier article, tu m’avais déjà donné très envie, mais je n’avais pas de solution pour Airplay, c’est maintenant fait. Bravo ! Je ne savais pas qu’il pouvait être géré côté serveur. Avec ce système, je peux même recycler de vieux téléphones Android comme clients multiroom sans fil.
    Les 25W mesuré, c’est donc l’alimentation des 7 Pi + switch réseau, en idle je suppose ? As tu mesuré en diffusion à volume “moyen” sur les 7 ?

  12. Oui le wifi doit être toujours actif, les clients Squeezebox ouvrent une connexion permanente pour réagir immédiatement aux ordres (vérifiable avec netstat -n sur un serveur squeezebox sous Windows)

  13. Excellent article ! rien à redire à tel point que je vais me lancer :)
    Une question néanmoins : est-ce que depuis un iphone/ipad on est en mesure de diffuser en airplay sur plusieurs clients simultanément ? (en utilisant la liste native des devices airplay détectés sur le réseau) ou est-ce seulement depuis l’interface Web ?

    Merci pour ce dernier petit détail avant que je me lance :)

  14. Il y a bien une appli payante “multiroom by Whaale” mais c’est pas optimal.

  15. Oui, je confirme, le Rapsberry récupère l’alim de la carte Hifiberry, il n’en faut donc qu’une seule en 12v.

  16. Oui, ca doit être faisable. Tu peux installer un OS “classique” type Debian, puis ensuite installer les paquets pour Jeedom, Squeezelite, etc… Par contre ca nécessite quelques compétences en Linux, l’avantage des images toutes faites est que ca fonctionne direct.

  17. Oui, j’ai testé en allumant tous les Raspberry à volume intermédiaire, mais bizarrement la conso n’a pas augmenté. J’oscille entre 24 et 25w maximum. Par contre le switch n’est pas dans les 25w (il n’y a que les 7 RPI avec leurs cartes), mais il ne doit pas consommer beaucoup.

  18. De base, non, j’ai jamais réussi. Certains avaient évoqué l’idée d’ailleurs d’utiliser des bornes Airport Express pour balancer la musique qu’on veut dans la pièce qu’on veut, mais dans tous mes tests je n’ai réussi à envoyer que la même musique partout. Pas un vrai multiroom, donc.
    C’est apparemment une limitation du Airplay. Mais ce n’est que pour lui, pour tou tle reste tu peux envoyer où tu veux ce que tu veux.

  19. Merci pour ce tuto!
    Ca va bien m’aider ! Je commence à monter ma solution domotique (pas seulement multiroom) avec une RPi dans chaque pièce et Jeedom.

    Pour le Airplay en multi-room, je ne pense pas que ce soit une limitation de Airplay mais de iOS car on peut le faire depuis iTunes: j’ai déjà transmis à la fois sur mon iMac, une borne Airport, le Freebox player et le Freebox server.
    C’est vraiment dommage de ne pas pouvoir le faire depuis l’iPad… :(

  20. Oui, sur le mac tu peux le faire, mais ce sera le même morceau partout, non ?

  21. Exselent, je garde cet article dans mes favorits pour plus tard.

  22. Bonjour,

    Magnifique réalisation..
    Mais j’ai une question,
    tu as 7 RP avec 2 sorties HP¨chacun, mais seulement 7 haut parleurs de plafond (ou alors j’ai loupé un épisode).
    Du coup tu ne gères pas la stéréo ?
    Est-il alors possible d’avoir sur chaque RP 2 clients squeezeplug dirigé chacun sur un hp (gauche ou droite). Cela permettrait d’avoir un seul RP pour 2 pièces…

  23. Le projet est vraiment cool ! Par contre. En faisant le compte. Pi + SD + Pi serveur + shield HIFI + cable + enceinte + …. Ca revient dans la même gamme de prix qu’un Sonos One.

1 2 3 4

Laisser un commentaire

Maison et Domotique
Logo
Register New Account
Enregistrez vous, et stockez vos articles préférés sur votre compte pour les retrouver n'importe où, n'importe quand !
Compare items
  • Casques Audio (0)
  • Sondes de Piscine Connectées (0)
  • Smartphones (0)
Compare