Raspberry Pi : installer squeezelite
Dans le but d’ajouter la parole à mon système domotique et diffuser de la musique partout dans la maison, j’ai déployé quelques raspberry dans différentes pièces de celle-ci et installé squeezelite dessus. Pour l’instant la qualité sonore n’est pas exceptionnelle car j’ai juste branché un petit haut-parleur usb sur les raspberry. Pour le moment cela me convient mais je songe à rajouter une carte son aux raspberry.
Le principe est assez simple : j’ai installé un serveur LMS (Logitech Media System) sur mon NAS et sur les raspberry on va installer le logiciel squeezlite afin que ces derniers soient reconnus comme des SqueezeBox et puissent diffuser de la musique ou des paroles (en TTS – Text To Speech).
1ere étape : configurer le son
Une fois le rapberry installé (voir cet article pour l’installation de base), on va commencer par régler les paramètres du son.
sudo alsamixer
Avec la touche F6 on choisi la carte son, dans mon cas « USB2.0 device » pour mon haut-parleur USB.
Puis on monte ou descend avec les flèches directionnelles pour être à la limite du rouge sans qu’il s’affiche de façon à optimiser la sortie sonore. ESC permet de sortir d’alsamixer.
2eme étape : installation de squeezelite
On installe d’abord les bibliothèques nécessaires
sudo apt-get install -y libflac-dev libfaad2 libmad0
On va créer un répertoire squeezelite puis le télécharger et le décompresser
mkdir squeezelite cd squeezelite wget -O squeezelite-armv6hf.tar.gz http://www.gerrelt.nl/RaspberryPi/squeezelite_ralph/squeezelite-armv6hf.tar.gz tar -xvzf squeezelite-armv6hf.tar.gz mv squeezelite squeezelite-armv6hf
On le déplace dans le répertoire /usr/bin et on le rend exécutable
sudo mv squeezelite-armv6hf /usr/bin sudo chmod a+x /usr/bin/squeezelite-armv6hf
Maintenant on va rechercher le nom exact de notre périphérique de son afin de pouvoir ensuite indiquer à squeezlite lequel il va devoir utiliser
sudo /usr/bin/squeezelite-armv6hf -l
On repère la carte son que l’on va utiliser, dans mon cas périphérique usb et uniquement les haut-parleurs avant :
Je note donc « front:CARD=Device,DEV=0 »
Avec ceci on peut tester si cela fonctionne via la commande suivante : (remplacer par le nom de votre carte)
sudo /usr/bin/squeezelite-armv6hf -o front:CARD=Device,DEV=0
Squeezelite devrait être lancé, vous pouvez le tester en vérifiant qu’il est bien reconnu sur votre LMS et en lançant une de vos musiques préférées. Faites ctrl+C pour sortir.
On va maintenant faire en sorte que squeezelite démarre au boot du raspberry.
Pour cela on va utiliser les scripts faits par http://www.gerrelt.nl/RaspberryPi/wordpress/
cd /home/pi/squeezelite sudo wget http://www.gerrelt.nl/RaspberryPi/squeezelite_settings.sh sudo mv squeezelite_settings.sh /usr/local/bin sudo chmod a+x /usr/local/bin/squeezelite_settings.sh sudo wget http://www.gerrelt.nl/RaspberryPi/squeezelitehf.sh sudo mv squeezelitehf.sh /etc/init.d/squeezelite sudo chmod a+x /etc/init.d/squeezelite sudo wget http://www.gerrelt.nl/RaspberryPi/squeezelite.service sudo mv squeezelite.service /etc/systemd/system sudo systemctl enable squeezelite.service cd /home/pi
Il ne reste plus qu’à configurer ces scripts de façon à ce que cela corresponde à notre carte son :
sudo nano /usr/local/bin/squeezelite_settings.sh
On recherche la ligne SL_SOUNDCARD= »sysdefault:CARD=ALSA » et on modifie avec ce que l’on a trouvé précédemment, pour moi : SL_SOUNDCARD= »front:CARD=Device,DEV=0″
On sauvegarde, on quitte et on lance le deamon :
sudo /etc/init.d/squeezelite start
C’est terminé !