Installer Squeezelite sur Raspbian

Publié le 14 janvier 2016 par Eric78

J’ai déjà parlé de plusieurs fois de la possibilité de transformer un Raspberry Pi en une SqueezeBox de Logitech à l’aide de distrib clé en main tel que Max2Play (M2P) ou encore PiCore Player.

Ces distrib plug and play sont très pratique mais nécessite de dédier un Raspberry Pi pour en faire un récepteur Audio. Si comme moi, vous utilisez un Raspberry Pi comme couteau suisse multimédia (émulateur de jeux vidéo + Media Center), il peut être utile d’installer manuellement Squeezelite en plus.
Par exemple, c’est que j’ai fait ici sur la distrib Happi Game Center qui embarque par défaut de quoi s’adonner au plaisir du retrogaming + Kodi et à laquelle on ajoute une couche pour en faire un récepteur audio multiroom
Ce tuto est adapté à partir de celui réalisé par gerrelt.nl.
Il permet de configurer le client uniquement (la partie serveur fait l’objet d’un autre tuto)

Créer un répertoire temporaire pour télécharger Squeezelite

mkdir squeezelite
cd squeezelite
wget -O squeezelite-armv6hf http://ralph_irving.users.sourceforge.net/pico/squeezelite-armv6hf-noffmpeg

Déplacer le contenu dans le répertoire usr directory, et rendez le tout exécutable:

sudo mv squeezelite-armv6hf /usr/bin
sudo chmod a+x /usr/bin/squeezelite-armv6hf

Listez les périphériques audio :
sudo /usr/bin/squeezelite-armv6hf -l

Vous devriez avoir une liste similaire (si vous avez un DAC ou une carte son USB, la liste sera plus longue)
Output devices:
null – Discard all samples (playback) or generate zero samples (capture)
default:CARD=ALSA – bcm2835 ALSA, bcm2835 ALSA – Default Audio Device

Une fois que vous avez repérez la carte son que vous souhaitez utiliser, vous pouvez lancer le programme en l’indiquant le paramètre.
Exemple:

./squeezelite-armv6hf -o sysdefault:CARD=ALSA

Si vous avez une carte son avec des sorties audio avant/arrière
./squeezelite-armv6hf -o front:CARD=Set,DEV=0

Vous pouvez aussi préciser l’adresse IP de votre serveur LMS (si vous ne précisez pas l’adresse du serveur, votre player Squeezelite le découvrira seul)
./squeezelite-armv6hf -o sysdefault:CARD=ALSA -a 5000:4 192.168.1.20

Rendez-vous maintenant dans l’interface pour lancer la lecture de la musique
Vous pouvez maintenant entendre le son.

Maintenant, il va falloir configurer Squeezelite pour qu’il s’initialise au démarrage du RPI.
Pour cela, on va utiliser un sript qui va servir de daemon de lancement pour Squeezelite.

Le daemon va appeler plusieurs scripts de paramétrages appelés “squeezelite_settings.sh” .
Pour un démarrage automatique, nous utiliserons “squeezelite.service” avec systemd

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 apt-get install systemd
sudo wget http://www.gerrelt.nl/RaspberryPi/squeezelite.service
sudo mv squeezelite.service /etc/systemd/system

sudo systemctl enable squeezelite.service

ln -s '/etc/systemd/system/squeezelite.service' '/etc/systemd/system/multi-user.target.wants/squeezelite.service'
sudo systemctl enable squeezelite.service

Modifier les paramètres
sudo vi /usr/local/bin/squeezelite_settings.sh
Décommenter la clé:
SL_NAME=
Et indiquer le nom de votre choix (ex: salon après le =)
Sauvegarder et quitter (:wq!)

Attribuer les droits en exécution

sudo chmod u+x squeezelite
sudo update-rc.d squeezelite defaults

cd /etc/init.d

Lancer le process

sudo ./squeezelite start

Si vous voulez vérifier que le process tourne
ps -A |grep squeeze

Pour arrêtr squeezelite:

sudo ./squeezelite stop

Pour mettre à jour squeezlite
sudo ./squeezelite update

sudo ./squeezelite update

Et voilà, que vous soyez sur le frontend EmulationStation ou Kodi vous pouvez diffuser du son vers votre Raspberry Pi