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…


194 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.

1 2 3 4

    Laisser un commentaire

    Ne ratez plus aucune news !

    Inscrivez vous à notre newsletter, et recevez chaque mois toute l'actualité du blog pour ne plus rien louper: actualité, guides, tutoriaux, concours !

    Merci pour votre inscription !