Comment utiliser un Raspberry Pi pour streamer de la musique d’un iPhone vers une paire d’enceintes ?
Vous avez configuré votre Raspberry Pi, et vous lui cherchez désormais une utilité ? Vous avez une belle paire d’enceintes mais vous ne prenez plus le temps de brancher le câble à votre ordinateur ou votre iPhone pour jouer de la musique ? C’est exactement pour cette raison, afin de redonner vie à deux enceintes Fostex PM1 MKII, que j’ai configuré mon Raspberry Pi 3B+ pour en faire un équivalent du Logitech Bluetooth Audio Receiver. Je vous propose un tutoriel pour faire de même.
Avant de commencer
Il vous faut :
- Un Raspberry Pi configuré avec la distribution Raspbian Lite (une autre distribution de Raspbian est également possible)
- Un accès à votre Rasperry Pi par SSH ou avec un moniteur, un clavier et une souris
- Une paire d’enceintes et ses câbles. Si vous n’avez pas de sortie jack 3.5mm mais des sorties RCA, il vous faudra un adaptateur RCA vers jack 3.5mm. Si vous n’avez pas de port jack 3.5mm mais uniquement des ports USB, tournez-vous vers un adaptateur jack vers USB
Note : ce tutoriel a été testé uniquement avec une distribution Raspbian Lite avec un contrôle par SSH.
Installer Raspbian Lite sur un Raspberry Pi
Pour cette partie, je vous renvoie à mon article sur le sujet. Vous trouverez comment installer Raspbian Lite sur votre Raspberry Pi sans moniteur, souris ou clavier, depuis MacOs.
Installer les dépendances
Connectez-vous à votre Raspberry Pi et lancez les commandes suivantes pour installer les dépendances nécessaires à votre serveur AirPlay.
sudo apt-get update sudo apt-get install autoconf automake avahi-daemon build-essential git libasound2-dev libavahi-client-dev libconfig-dev libdaemon-dev libpopt-d
Compiler et installer shairport-sync
shairport-sync est le logiciel que nous utiliserons pour le serveur AirPlay. Tout d’abord, obtenons-le depuis Github :
git clone https://github.com/mikebrady/shairport-sync.git
Il faut maintenant compiler et installer shairport-sync
. Entrez les commandes suivantes :
cd shairport-sync autoreconf -i -f ./configure --with-alsa --with-avahi --with-ssl=openssl --with-systemd --with-metadata make sudo make install
Configurer et tester la sortie audio
Pour tester le bon fonctionnement de shairport-sync, munissez-vous de vos enceintes, un casque audio ou des écouteurs, que vous branchez sur votre Raspberry Pi.
En fonction de votre configuration, configurez le Raspberry Pi pour qu’il utilise par défaut une sortie audio. Dans notre exemple, nous forçons le Raspberry Pi à utiliser la sortie jack 3.5mm. Pour ce faire, tapez :
sudo raspi-config
Sélectionnez “7. Advanced Options”, puis “A4. Audio”, puis choisissez Option 1 “Force 3.5mm (‘headphone’) jack”. Appliquez les paramètres et revenez au Terminal.
Ajustons maintenant le volume de sortie. Entrez simplement la commande :
amixer sset PCM,0 100%
Où 100% peut être remplacé par une autre valeur. Après quelques essais, je vous recommande de laisser 100%.
Tester le bon fonctionnement de AirPlay sur le Raspberry Pi
Pour démarrer shairport-sync, lancez la commande :
sudo service shairport-sync start
Prenez votre iPhone et votre application audio préférée. Appuyez sur le bouton pour faire apparaître les différents serveurs AirPlay et sélectionner le vôtre. Dans mon cas, depuis Spotify, je vois LivingRoom qui est mon Apple TV, et Rbpi qui est mon serveur AirPlay avec Raspberry Pi.
La sortie audio du Raspberry étant de qualité moyenne, le volume de sortie est faible et il est nécessaire d’augmenter le volume de votre téléphone. Il est possible d’ajouter une carte audio externe (HifyBerry par exemple) pour gagner en qualité. J’y reviendrai dans un prochain article.
Configurer shairport-sync pour démarrer automatiquement avec le Raspberry Pi
Maintenant que le serveur AirPlay est fonctionnel, lancez la commande suivante pour que shairport-sync démarre avec le Raspberry Pi :
sudo systemctl enable shairport-sync
Le terminal vous retournera le message suivant :
Created symlink /etc/systemd/system/multi-user.target.wants/shairport-sync.service → /lib/systemd/system/shairport-sync.service.
Redémarrez maintenant votre Raspberry et testez à nouveau le bon fonctionnement :
sudo reboot
Prévenir des coupures WiFi
Le WiFi du Raspberry Pi peut se mettre en mode économie d’énergie de temps à autre. Pour supprimer ce comportement, entrez la commande :
sudo nano /etc/network/interfaces
Et ajoutez à la fin du fichier :
# Disable wifi power management wireless-power off
Sur Mac, faites « ctrl + X » pour quitter, et répondez « yes » à la question, voulez-vous sauvegarder les modifications. Redémarrez le Raspberry une dernière fois.
sudo reboot
Bravo, votre serveur AirPlay avec Raspberry Pi est désormais fonctionnel !
Cela ne fonctionne pas pour vous ? N’hésitez pas à laisser un commentaire.
Sources
- Ce tutoriel est largement inspiré de l’article Apple Airplay on Raspberry Pi in 7 Easy Steps. Je vous conseille d’y jeter un oeil pour des informations supplémentaires (en anglais)
- Pour aller plus loin : How to play sound and make noise with your Raspberry Pi