Cet article n’est plus à jour. Nous vous invitons à consulter celui-ci → https://technic2radio.fr/tuto-liquidsoap-raspberry-pi-via-opam/
Vous aurez ainsi la dernière version de Liquidsoap d’installé sur votre raspberry pi.
Néanmoins, si vous souhaitez suivre le tutoriel de cette page (car plus facile), attention au traitement de son, ils ont tendances à être trop gourmand en ressource et cela pourrait interrompre le stream.
Dans ce tutoriel nous allons partir à la découverte de Liquidsoap, le couteau suisse du streaming multimédia. Liquidsoap est gratuit et open-source. Plus d’infos : http://savonet.sourceforge.net/
Notre objectif est de transformer le Raspberry Pi en « client source » pour Icecast (ou shoutcast) et permettre ainsi de diffuser votre flux audio vers Icecast pour que vos auditeurs puissent vous écouter via le web.
Pour ce tutoriel, nous avons utilisé le matériel suivant :
- Raspberry Pi 3 Model B Quad Core CPU 1.2 GHz 1 Go RAM
- Alimentation Pour Raspberry Pi 3 Aukru Micro USB 5v 3000mA
- Carte Mémoire MicroSDHC SanDisk Ultra 16GB
- Carte son ESI U24 XL
Pré-configuration
Pour commencer, il faut télécharger l’image de Raspbian Jessie : https://www.raspberrypi.org/downloads/raspbian/
Une fois téléchargé et décompressé, nous passons par Win32 Disk Imager (si vous êtes sous Windows) pour transférer l’image sur la carte SD.
Une fois la carte SD inséré dans le Raspberry Pi et que tout est branché, on commence par tout mettre à jour :
$ sudo apt-get update
$ sudo apt-get upgrade
Liquidsoap
Pour installer Liquidsoap, rien de plus simple :
$ sudo apt-get install liquidsoap
Nous allons ajouter quelques plugins nécessaires :
$ sudo apt-get install liquidsoap-plugin-all
$ sudo apt-get install ladspa-sdk multimedia-audio-plugins
Configuration
Il nous reste à créer le fichier qui contiendra les paramètres de configuration :
$ sudo nano /etc/liquidsoap/radio.liq
On ajoute les lignes suivantes (à modifier en fonction des paramètres de votre Icecast et de votre radio)
Le gros plus de liquidsoap ce sont les plugins. Pour cela nous allons suivre les indications fournit par cet article : http://freedrool.us/blog/liquidsoap-audio-effects
Exemple de fichier radio.liq :
#!/usr/bin/liquidsoap
stream = input.alsa(device="plughw:1,0")
stream = sky(stream)
stream = compress(stream, attack = 5.0, gain = 8.0, knee = 10.0, ratio = 5.0, release = 100.0, threshold = -18.0, rms_window = 0.7)
stream = normalize(stream, target = -1.0, threshold = -65.0)
stream = limit(stream, threshold = -0.2, attack = 2.0, release = 25.0, rms_window = 0.02)
output.icecast(%mp3(bitrate=128, samplerate=44100, ),
host="XX.XX.XXX.XXX",
port=8000,
password="XXXX",
mount="radio.mp3",
url="https://technic2radio.fr",
name="technic2radio",
genre="Music",
description="Test Liquidsoap",
public=false,
fallible=true,
stream)
Il faut maintenant rendre exécutable le fichier :
$ sudo chmod +x /etc/liquidsoap/radio.liq
On modifie les droits du fichier de log de liquidsoap (« pi » l’utilisateur par défaut du Raspberry Pi) :
$ sudo chown -R pi /var/log/liquidsoap
On test si tout fonctionne :
$ /etc/liquidsoap/radio.liq
Tout fonctionne ? C’est parfait !
Auto start
Maintenant, nous allons faire en sorte que liquidsoap se lance au démarrage du Raspberry Pi. Pour cela nous allons éditer le fichier .bashrc :
$ sudo nano .bashrc
Et nous allons ajouter les lignes suivantes :
if [ $(tty) == /dev/tty1 ]; then
/etc/liquidsoap/radio.liq
fi
On enregistre et on quitte l’éditeur. On reboot le Raspberry Pi pour vérifier que tout se lance bien au démarrage et on se rend à l’ip du flux Icecast pour tester l’audio (http://XX.XX.XXX.XXX:8000/radio.mp3)
merci pour ce tuto je vais testé ça,
c’est dommage de faire de la pub pour Amazon avec vos liens
Bonjour , je cherche une adresse mail pour vous contacter pour une aide sur configuration pour une web radio , pourriez vouos indiquer comment vous contacter ?
Cdt.
Bonjour,
Le mieux est de poser votre question ici en commentaire.
Vous pouvez me contacter par mail à contact@technic2radio.fr mais je n’ai malheureusement pas assez de temps pour répondre à tout le monde.
Bonjour,
La carte son elle se branche sur quelles prises de la carte ?
Bonjour,
La carte son se branche sur n’importe quel port USB du Raspberry Pi
Bonjour , j aimerais si possible un connaisseur pour m editer un script de traitement de son, aussi avec possibilité de mettre un top horaire » il est 21h » j ai les jingles c est déja ça 🙂
ensuite j ai un souci avec le fichier log , quand je lance l instance les 48 premières heures tout vas bien , ensuite viens surement un tache de logrotation qui gzip le log et créer un autre fichier , là tout se passe aussi , mais le hic c est qu à ce moment là luquidsoap n ecris plus dans le fichier , il reste vide , PS je n ai pas mis d option log dans liquidsoap car ça dois etre configurer par default , Merci à vous
Ps vous pouvez me contacter sur mailto:pub@cambosfm.eu
Il y est possible d’installer Liquidsoap 1.2.1en suivant ce tuto (en anglais) : https://docs.google.com/document/d/1g_1M0DT062QnlzZSs5HazH1HMVTksURFYqqauCk7H9c/edit?usp=sharing
Lors de la commande :
$ sudo nano /etc/init.d/liquidsoap
Laisser vide : Ctrl+O puis Ctrl+X
Terminer le tuto, puis reprener le tuto ci-dessus à :
$ sudo nano /etc/liquidsoap/radio.liq
et ajouter la ligne : set(« log.file.path », »/tmp/basic-radio.log »)
puis :
$ sudo chown -R pi /tmp/basic-radio.log
au lieu de : $ sudo chown -R pi /usr/log/liquidsoap