Musique partout ! Du Multi-room avec Raspberry Pi.

Cet article est un tutoriel qui montre comment installer et configurer une installation multiroom audio à base de Raspberry Pi et du logiciel Volumio.

Une présentation de Volumio.

Volumio est un système (pas seulement une application) qui permet de jouer de la musique un peu partout avec une bonne qualité sonore.

Quelques fonctionnalités du logiciel :

  • il est libre et open-source,
  • Il tourne sur des petits systèmes tels que : Raspberry PI, UDOO, Cubox-i, Odroid.
  • Il sait lire les formats suivants : FLAC, Alac, Aac, Vorbis, Mp3, DSD,
  • Il sait lire sur les serveurs DLNA, les partages Samba (windows), il est compatible Airplay (Apple),
  • Il sait écouter les webradios (radios diffusées sur internet),
  • Il assure les fonctionnalités dites de multi-room. On va pouvoir par exemple écouter une musique différente dans différentes pièces ou la même musique en synchronisé dans plusieurs pièces,
  • ne nécessite pas de tirer des câbles audio. Le réseau filaire ethernet ou wifi suffisent,
  • il se pilote avec un navigateur depuis tout types d’ordinateurs (PC sous linux ou windows, Mac, Androïd, IOS, etc.),
  • etc.
volumio20

Un petit schéma pour mieux comprendre l’architecture. Source : volumio.org

Je vais vous présenter ici sa mise en œuvre sur Raspberry pi.

Le Raspberry pi

Le Raspberry pi est un formidable ordinateur, apparu en 2014. Il est souple, ouvert, petit et surtout peu coûteux (40€). Des tonnes de cartes additionnelles compatibles et des milliers de projets destinés à cette plateforme ont vu le jour.

volumio30

Raspberry Pi 3 Source : http://www.kubii.fr

Quelques défauts :

  • Il souffre d’une sortie audio médiocre.
  • Il n’a pas de bouton marche-arrêt.
  • Il n’a pas d’horloge intégrée.

On va doter notre raspberry d’une sortie audio de bonne qualité.

Plusieurs choix sont possibles :

  • Une carte avec une sortie RCA qui pourra se raccorder à une chaîne hifi par exemple.
    Hifiberry DAC+ 30 €

    volumio21

    source Hifiberry

  • Une carte avec sortie numérique S/PDIF (non testée)
  • Une carte contient un amplificateur sur laquelle on pourra raccorder deux enceintes hifi.

    volumio22

    source Hifiberry

  • Une variante avec amplificateur à tubes (non testée et très chère).

    volumio23

    Ampli à tube, source : Volumio.org

Ces cartes se posent par dessus le raspberry pi, ce sont les broches du GPIO qui connectent la carte avec l’ordinateur.

Les matériels nécessaires

Version DAC

Pour la version DAC qui se branche sur une chaîne hifi :

  • 1 raspberry pi 2 ou 3
  • une carte Hifiberry Dac +
  • une alimentation pour le raspberry
  • une SD Card 8 Go ou plus
  • un boîtier pouvant accueillir le raspberry et la carte DAC.
  • un cordon RCA

    volumio24

    Connectique RCA. Source : http://www.commentcamarche.com

  • une chaîne hifi ou un appareil disposant d’une entrée RCA

Version Amplificateur

  • 1 raspberry pi 2 ou 3
  • une carte Hifiberry AMP+ avec une alimentation qui alimentera le raspberry et l’amplificateur.

    volumio35

    alimentation – source hifiberry

  • une SD Card 8 Go ou plus avec un adaptateur
volumio27

Carte sd avec adaptateur. Source : http://www.kubii.fr

  • un boîtier pouvant accueillir le raspberry et la carte Amp+
  • Deux enceintes
  • du câble pour haut-parleur

    volumio25

    câble haut-parleur source Castorama

Commentaires sur les matériels

Il faudra pour la configuration d’un PC de préférence sous Linux. Ce PC doit être équipé d’un lecteur de carte SD. Si ce n’est pas le cas vous pouvez acheter ceci pour ~6€ :

volumio28

Card reader. Source http://www.kubii.fr

Avec ce lecteur qui se branche sur un port USB on pourra lire et écrire les cartes sd.

Il est inutile de prendre une carte pré-gravée avec une distribution car nous devrons la re-graver.

Il faudra aussi disposer d’un câble ethernet même si vous souhaitez utiliser que la wifi au final, le câble ethernet sera nécessaire pour la configuration initiale.

volumio33

Connecteur RS45 ethernet Source http://www.kubii.fr

On note aussi qu’aucun clavier, ni souris, ni écran ne sont requis.

Bon on y va ?

Installation et configuration.

Assemblage du matériel.

Assez enfantin, on fixe la carte additionnelle sur le raspberry pi. On pose les entretoises (éléments dans les coins des cartes qui les relient entre-elles)

volumio34

Les entretoises sont livrées avec les cartes.

On pose le tout dans le boîtier.

Préparation de la carte SD

Récupération de l’image Volumio

On récupère une image volumio ici : https://volumio.org/get-started/

L’image obtenue est compressée donc on la décompresse avec le programme de gestion des archives. Quand on « double-clique » sur l’archive zip çà lance le gestionnaire d’archives. Dans ce programme on demande d’extraire le fichier contenu. C’est un fichier dont l’extension est img.

L’image du genre : volumio-2.030-2016-11-20-x86.img sera gravée sur la carte sd.

Gravure de la carte sd.

On place la carte sd dans son lecteur et le lecteur sur le port usb du pc. Dès l’insertion on doit voir le montage de la carte se faire et cela se voit dans le gestionnaire de fichier.

Il faut à ce stade identifier le lecteur vu du système.

Pour cela le logiciel « disques » sous Mint va nous aider.

volumio29

Le logiciel « Disques »

Dans l’exemple ci-dessus on voit le lecteur monté en sdd.

On ouvre un terminal. On se place dans le répertoire qui contient l’image Volumio.

sudo dd bs=4M if=mon image volumio.img of=/dev/sdx

Cette commande va copier notre image sur la carte.

On remplace « mon image volumio.img » par le nom de l’image qu’on téléchargé puis extrait.

On remplace sdx par le disque de montage de la carte. Dans mon exemple ce la donnera :

sudo dd bs=4M if=volumio-2.030-2016-11-20-x86.img of=/dev/sdd

Attention une erreur de destination du genre : j’écris sda au lieu de sdd écrasera tout le disque sda !!! A vous d’éviter de vous tirer une balle dans le pied.

Quand on est bien sur, on inspire un grand coup, on lance et on laisse l’exécution se faire. (tsin tsin tsin – musique hitchcokienne)

Quand c’est fait on démonte proprement le lecteur dans le gestionnaire de fichier.

On installe la carte sd dans le raspberry pi éteint au préalable !

On effectue les branchements hifi  : RCA ou haut-parleurs.

On branche le connecteur ethernet (même si la cible de fonctionnement finale sera le wifi).

Le câble ethernet va relier le raspberry avec votre réseau. Vous pouvez vous brancher sur une prise disponible de votre box.

Nota important pour l’alimentation de l’ampli AMP+. Je recommande de brancher le câble secteur (entre l’alimentation et la prise secteur) en dernier car sinon la connexion côté amplificateur provoque des étincelles  certes très jolies mais susceptibles de faire des dégâts sur les cartes. C’est vous qui voyez…

Enfin au dernier branchement de l’alimentation le raspberry démarre dans une ambiance tendue mais pleine d’espoirs musicaux. (tada!)

Et pendant ce temps Volumio démarre…

Le premier démarrage de Volumio est long, voire très long. Plusieurs minutes. Çà tombe bien pendant ce temps nous avons des choses à faire sur le PC.

Préparation depuis une station linux

Sur la station linux (pas le raspberry) on installe le logiciel nmap qui permet entre autres de scanner son réseau local.

Sur les distributions de la famille Ubuntu le logiciel se trouve dans la logithèque.

volumio26

La logithèque sous Linux-Mint

Ce logiciel s’utilise dans un terminal. Nous l’utiliserons pour découvrir l’adresse ip de notre raspberry.

Nota : Pour les malins qui pensent plus rapide de se connecter directement sur le rapberry et modifier les fichiers de configuration réseau : laissez-tomber ! Cela ne fonctionne pas ! Je le sais car j’ai perdu plusieurs soirées avec çà!

Dans quel réseau suis-je ?

Dans un terminal on va déterminer dans un premier temps la plage d’adresse de notre réseau local avec la commande ifconfig

thierry@ioannina-mint ~ $ ifconfig
enp4s0    Link encap:Ethernet  HWaddr f4:6d:04:4f:07:67  
          inet adr:192.168.0.9  Bcast:192.168.0.255  Masque:255.255.255.0
          adr inet6: fe80::c87b:9b52:57f8:88f0/64 Scope:Lien
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Packets reçus:1273021 erreurs:0 :0 overruns:0 frame:0
          TX packets:534723 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000 
          Octets reçus:1630221999 (1.6 GB) Octets transmis:62082400 (62.0 MB)

Les informations qui nous intéressent sont : inet adr:192.168.0.9 et Masque:255.255.255.0

La première donne l’adresse ip de mon poste et la seconde comment les adresses peuvent varier dans le réseau local.

255.255.255.0 dit que seul le dernier bloc d’adresse peut changer.

192.168.0.9 dit que mon adresse commence par 192.168.0

Donc mon réseau local va de l’adresse 192.168.0.0 à 192.168.0.255 et comme les adressses .0 et .255 sont réservées mon réseau local va effectivement de 192.168.0.1 à 192.168.0.254.

Vous serez très probablement dans le même cas ou éventuellement des adresses en 192.168.1.x

Ou est mon Volumio  ?

Nous allons déterminer l’adresse IP de notre raspberry et pour cela nous allons faire de la haute voltige dans notre terminal.

On passe la commande qui suit en remplaçant le x par ce que vous avez trouvé à l’étape précédente :

sudo nmap -sP -PT -PI -T 3 192.168.x.*

donc pour moi c’est :

sudo nmap -sP -PT -PI -T 3 192.168.0.*

Dans la réponse obtenue vous aurez les machines et appareils connectés au réseau local.

Chaque bloc correspond à une machine (un interface réseau pour être précis).

Nmap scan report for 192.168.0.240
Host is up (0.00032s latency).
MAC Address: B8:27:EB:4C:D9:D8 (Raspberry Pi Foundation)
Nmap scan report for 192.168.0.241
Host is up (0.047s latency).
MAC Address: B8:27:EB:A5:97:F9 (Raspberry Pi Foundation)

Dans l’extrait ci-dessus on voit deux raspberry, un en 192.168.0.240 et l’autre en 192.168.0.241

Notez l’adresse de votre raspberry.

Ouvrez votre navigateur favori (Firefox) dans la zone d’adresse du site inscrivez l’adresse trouvée.

Si tout s’est bien passé vous devriez avoir une page ressemblant à ceci :

volumio32

Écran d’accueil Volumio

Là vous pouvez être très satisfait de vous. Il ne reste plus que la configuration de volumio à faire !

Normalement il devrait être tard dans la nuit quand vous serez arrivé là. Je préconise donc d’aller dormir en attendant la publication du second épisode où l’on ouïra la musique jaillir de nos petits mais efficaces engins.

Configuration de Volumio

Description de la page d’accueil de Volumio

volumio01

Page d’accueil Volumio

De haut en bas et de gauche à droite nous avons :

  1. Le lien qui pointe vers l page d’accueil (Volumio)
  2. Les boutons de pilotage audio (morceau précédent, lecture/pause, morceau suivant)
  3. Le bouton pour aller vers les différents réglages (la route dentée)
  4. Le module de suivi du morceau en cours (ici on a écouté 2:30 sur les 4:19 totaux)
  5. Le module de présentation du morceau : titre de l’album, titre du morceau, artiste, pochette de l’album.
  6. Module de contrôle du volume
  7. La zone d’affichage des Volumio présents sur le réseau (ici c’est deux)
  8. Le lien « Parcourir » qui permet de naviguer dans l’ensemble de la musique disponible
  9. Le lien « Jouer » c’est pour jouer (étonnant non ?)
  10. Le lien « Queue » qui permet de gérer la file en cours des morceaux.

Les paramètres vite !

Ok ok on y va.

volumio05

Menu apparence

Pour commencer on va faire parler français notre système.

volumio11

Menu apparence

Je vous laisse choisir la langue et le thème graphique qui vont iront bien…

Menu Système

Ensuite nous allons dans « Système »

volumio15

Page « Système »

Ici nous allons donner un nom à notre système. Chaque système Volumio doit avoir son nom qui sera unique sur le réseau.

Nota : je recommande l’option : « Son de Démarrage » qui donne un son au démarrage du système c’est assez pratique pour savoir si le son fonctionne.

Ensuite on clique sur « Vérifier les mises à jour ». Si nécessaire on installe la mise à jour.

Pour la prise en compte de ces premières opérations nous allons re-démarrer le système.

volumio18

Écran d’arrêt et redémarrage

Je vous laisse deviner sur quel bouton on clique.

Nota : les redémarrages sont toujours longs, soyez patients avant de passer vos nerfs sur ce qui vous tombe sous la main.

Les réglages audio, menu lecture.

Pour la version AMP+ c’est assez simple. Voici mes réglages

volumio09

Écran des réglages audio

Pour la version DAC+ c’est plus fourni :

volumio36

Options de lecture

volumio37

Options de lecture – suite

Nota : après toute modification n’oubliez pas le bouton « Sauver » associé au groupe de paramètres.

Les réglages du réseau

Vous êtes toujours là ? Maintenant on arrive dans une partie plus délicate : les paramètres réseau.

volumio12

En premier lieu choisissez le mode de connexion que vous voulez : câblé (filaire) ou wifi.

Si vous voulez utiliser le mode câblé : il faudra désactiver le wifi et renseigner la partie « réseau câblé ».

volumio38

Partie Wifi

Vous positionnez « Réseau Sans Fil (Wifi) sur OFF. Vous effacez les saisies dans les 3 champs qui suivent et vous cliquez sur « Sauver »

Pour rappel : dès qu’on modifie cette partie après sauvegarde vous pouvez perdre la visibilité sur votre volumio. En effet si vous connecté sur l’adresse 192.168.0.10 et vous demandez qu’il passe en 192.168.0.20 il faut dans votre navigateur passer sur la nouvelle adresse. Enfin chaque modification nécessite un redémarrage. Il faudra être patient.

Les débutants en réseau choisiront l’allocation dynamique (dhcp). Les autres feront comme bon leur semblera.

En allocation dynamique. Vous sélectionnez IP automatique sur ON. C’est le mode le plus facile.

Pour simplifier vos changements d’adresses vous pouvez accéder à volumio avec son nom (le nom qu’on a renseigné sur la page système) au lieu de son adresse IP.

exemple : http://volumio1.local

Facile non ?

Les réglages des partages

Le raspberry pi est un ordinateur formidable mais il ne dispose pas de beaucoup de place de stockage.

Pour ceux qui veulent faire simple il faudra déposer sa musique dans une clé usb et brancher cette dernière sur le raspberry.

Pour ceux qui disposent d’un serveur samba volumio sait y accéder.

Pour cela on va dans le menu « Ma Musique ».

volumio06

Page des partages

On peut ajouter un disque en cliquant sur « Ajouter un nouveau disque »

volumio07

Page d’ajout de disque

On sélectionne son serveur et on renseigne les champs demandés.

volumio08

Page de configuration du partage

Ensuite on sauve tout çà.

Au passage on peut noter que la sécurité n’est pas le point fort de Volumio car quiconque accède à Volumio pourra voir le compte et son mot de passe.

On demandera ensuite à Volumio de faire un « scan ».

Cette opération est longue, soyez patient et vos morceaux finiront par apparaître.

Nota : quand vous avez fini la configuration, n’importe quel outil disposant d’un navigateur pourra piloter vos appareils Volumio : un pc, une tablette, un smartphone.

Petit bilan.

En résumé les points forts et points faibles de Volumio.

Avantages

  • mise en œuvre économique
  • souplesse de fonctionnement car il est multi-plateforme,
  • Bonne ergonomie du logiciel, des pages avec l’essentiel,
  • Esthétique agréable et claire,
  • Francisation complète,
  • Bonne qualité sonore.

Inconvénients

  • le système est fréquemment lent, le Raspberry y est probablement pour quelque chose
  • la sécurité est quasi absente
  • Le plus grave pour moi : avec plusieurs appareils le système ne sait pas synchroniser différents systèmes sur la même musique.

Liens utiles

Hifiberry : https://www.hifiberry.com

Volumio : https://volumio.org

Kubii : https://www.kubii.fr

Un excellent tutoriel sur le même sujet avec un autre logiciel : http://www.maison-et-domotique.com/56929-realisation-de-multiroom-audio-a-base-de-raspberry-pi-hifiberry/

Advertisements

7 Commentaires

Classé dans Mémos et tutos

7 réponses à “Musique partout ! Du Multi-room avec Raspberry Pi.

  1. Hey, hey, quel magnifique tuto !! Merci Thierry.
    Je vois que de t’isoler dans ta Bretagne reculée te donne le temps de publier un bien joli sujet qui pourrait être fort utile à notre projet radio : http://csrelais59.org/radio/
    Jean-Marc et Jean-Pierre de la robotique pourraient sûrement nous aider à réaliser ce montage pour l’@nnexe. D’autant que nous souhaitions créer des annonces sonores dans le lieu.
    Ça tombe bien : on parlait justement de toi la semaine dernière et aujourd’hui même. Décidément, rien ne remplacera la télépathie ;-))
    A bientôt sur le blog ou ailleurs.
    Yann

  2. Thierry

    Heu ma Bretagne n’est pas reculée :-p . Je vais aller voir le projet radio. Je suis franchement content que mon tutoriel te plaise. Contactez moi en direct pour d’éventuels compléments quand vous en viendrez à la réalisation. Thierry

  3. Bonjour. Point de vue terminal, peut on le faire à partir d’un environnement mac os ? merci

    • Thierry

      Je ne connais pas cet environnement mais je serais fort surpris qu’il n’existe pas d’application permettant de se connecter en mode terminal ssh. En effectuant une recherche rapide j’en trouve 2 putty et terminal.
      Cdt Thierry

  4. Pas de gain à passer sur une carte justboom ou digiamp+ (IQAudio) ? merci

  5. Thierry

    Je n’en aucune idée faudrait essayer pour se faire une opinion. Je viens de vérifier volumio semble « connaître » les cartes que vous citez. C’est donc possible des les tester.
    Cdt Thierry

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s