technique:webradiov2_librazik

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
technique:webradiov2_librazik [2020/11/27 00:56] lolotechnique:webradiov2_librazik [2024/04/02 15:08] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
-====== Version POC (Proof of concept) de la webradio V2 ====== +**Cette page est obsolèteVeuillez accéder au contenu à son nouvel emplacement : [[https://bibliotech.cemea.org/books/outils-technique/page/webradiov2-librazik|webradiov2-librazik]]**
- +
-Je commence par les remerciements, tout particulièrement à **//trebmuh//**  , le responsable du projet [[https://librazik.tuxfamily.org/|Librazik]] et à //**ephase**//  , le technicien de la radio libre de Bordeaux : [[http://giroll.org|Giroll]] Plutôt que de repartir sur une base de Studiobox, qui propose un menu "sommaire" et des applications limitées, l'idée est de partir d'une distribution Grand public avec des paquets standards et de pouvoir transformer au moment voulu son système en webradio et de réutiliser son PC avec ou sans webradioOn part donc d'une base [[http://debian.org|Linux Debian]] et on lui ajoute les dépots de l'équipe [[http://librazik.tuxfamily.org|Librazik]], et on utilise l'interface IDJC qui permet de gérer un flux webradio de manière très optimale. +
- +
-===== 0. Ce que cette solution peut faire ===== +
- +
-  * Diffuser dans le flux radio depuis un seul ordi : les micros branchés sur le PC (via table de mixage), de la musique stockée sur le PC, un fond sonore par dessus une voix, des jingles par dessus la musique et les micros et étalonner leur puissance +
-  * Ajouter de la compression aux micros si peu amplifiés +
-  * Enregistrer une émission ou un morceau d'émission au milieu de la diffusion et vérifier l'enregistrement en direct +
-  * Enregistrer l'émission en FLAC, sans perte avec enregistrement des métadonnées diffusées. +
-  * Stopper la diffusion, tout en continuant d'enregistrer l'émission +
-  * Diffuser en retour le son diffusé à l'antenne en direct (ou pas) +
-  * Voir en direct le nombre d'auditeurs connectés +
-  * Couper les micros depuis le PC +
-  * Diffuser depuis le PC des musiques ou sons en streaming diffusées sur le web +
-  * Diffuser de la musique 24h/24 avec une lecture aléatoire +
-  * Diffuser les infos des tags des fichiers MP3. +
-  * Et beaucoup d'autres trucs pas encore découverts… +
- +
-===== 0-bis. Installation rapide ===== +
- +
-  * Voir [[.:webradio:v2cemea|cette procédure pour une installation]] "toutotomatik" +
- +
-===== 0-ter. Installation basique ===== +
- +
-Procédure d'install testée sur des X201 +
- +
-Installation de LibraZiK 3 ? Ne semble pas nécessaire. +
- +
-1) Télécharger une image d'installation de la dernière version de Debian (Buster) avec l'environnement graphique Mate \\ [[https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/10.6.0-live+nonfree/amd64/iso-hybrid/debian-live-10.6.0-amd64-mate+nonfree.iso|https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/10.6.0-live+nonfree/amd64/iso-hybrid/debian-live-10.6.0-amd64-mate+nonfree.iso]] +
- +
-2) Créer une clé USB "bootable" avec l'image téléchargée +
- +
-3) Installer la dernière version de debian (Buster) +
- +
-4) Ajouter les dépôts Librazik +
- +
-* Se connecter avec son compte utilisateurice \\ * Menu → Système → Administration → Gestionnaire de paquets Synaptic \\ * Installer le paquet __gdebi__  ((en acceptant la liste des autres paquets-logiciel à installer))   \\ * Une fois le logiciel installé, fermer Synaptic \\ * Menu → Applications → Internet → Firefox ESR \\ * Aller à l'adresse [[http://download.tuxfamily.org/librazik/pasapas/|http://download.tuxfamily.org/librazik/pasapas/]] \\ +
-* Télécharger les paquets "librazik-keyring_3_all.deb" et "librazik-apt_3.02_all.deb" en double cliquant dessus. L'installateur de paquets GDebi se lance automatiquement et propose d'installer les paquets. \\ +
-* Relancer Synaptic et "recharger" la liste des dépôts \\ +
-<WRAP center round info 60%> \\ +
-Une fois Synaptic "rechargé" une erreur de doublon apparaît, il suffit de déselectionner les sources en double pour revenir à un "Synaptic sans erreur". \\ +
-</WRAP> +
- +
-5) Installer Jackd et IDJC +
- +
-* Installer jackd et IDJC \\ * Suivre la fin de la procédure d'install/paramétrage des outils depuis [[https://ladoc.cemea.org/technique/webradiov2_librazik|https://ladoc.cemea.org/technique/webradiov2_librazik]] (à partir du paragraphe 4 "Paramétrage de Jackd") \\ +
- +
-===== 1. Une base Debian ===== +
- +
-On installe sur une partition d'un PC une distribution Debian à partir d'une image [[https://www.debian.org/CD/http-ftp/#stable|ISO Debian net-install]], (mais on peut aussi partir d'une [[https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-9.8.0-amd64-xfce-CD-1.iso|Debian avec un environnement XFCE pré-installé]] et passer directement à l'étape 2.). On partitionne comme on veut (on peut tout mettre dans une seule partition si on veut). +
- +
-On modifie les dépots Debian (/etc/apt/sources.list) pour ajouter à minima les dépots contrib (et non-free qui est ici optionnel mais nécessaire pour certains pilotes wifi comme ''firmware-iwlwifi''): +
-<code> +
- +
-deb http://deb.debian.org/debian stretch main contrib non-free +
-deb-src http://deb.debian.org/debian stretch main contrib non-free +
- +
-deb http://deb.debian.org/debian-security/ stretch/updates main contrib non-free +
-deb-src http://deb.debian.org/debian-security/ stretch/updates main contrib non-free +
- +
-deb http://deb.debian.org/debian stretch-updates main contrib non-free +
-deb-src http://deb.debian.org/debian stretch-updates main contrib non-free +
- +
-</code> +
- +
-et on installe le méta paquet ''mate-desktop-environment''  mais aussi ''lightdm''  (pour l'interface grahique) et on peut aussi installer ''mate-desktop-environment-extras mate-tweak'' +
- +
-Mate est un environnement simple et léger basé sur Gnome 2. Mais au fond, peu importe l'environnement (d'autres à tester ?). +
- +
-On peut aussi installer d'autres bricoles comme mate-tweak, firefox et ce qu'on veut d'autres tant que ça marche. +
- +
-Paquets intéressants à rajouter, à compléter : +
- +
-<code> +
-sudo apt install audacious easytag audacity task-mate-desktop mate-desktop-environment mate-desktop-environment-extras lightdm firefox-esr firefox-esr-l10n-fr network-manager-gnome +
- +
-</code> +
- +
-Il peut être utilie d'ajouter un taggeur de MP3 comme : ''easytag''  ou ''exfalso''  (ou [[https://doc.ubuntu-fr.org/liste_taggueurs_audio|d'autres]]) +
- +
-IMPORTANT : il est nécessaire que l'utilisateur soit membre du groupe "audio" +
-<code> +
- +
-sudo adduser monuser audio #adapter monuser à votre nom d'utilisateur +
- +
-</code> +
- +
-===== 2. Ajout des dépots Librazik ===== +
- +
-On veut pouvoir bénéficier des supers outils de Librazik il faut ajouter les dépots de ce projet dans notre Debian. +
- +
-Se rendre sur [[https://download.tuxfamily.org/librazik/decepas/|https://download.tuxfamily.org/librazik/decepas/]] et télécharger les 2 fichiers .deb et les installer. +
-<code> +
- +
-wget https://download.tuxfamily.org/librazik/decepas/librazik-keyring_2_all.deb && dpkg -i librazik-keyring_2_all.deb +
-wget https://download.tuxfamily.org/librazik/decepas/librazik-apt_2_all.deb && dpkg -i librazik-apt_2_all.deb +
-rm librazik-keyring_2_all.deb && rm librazik-apt_2_all.deb +
-apt-get update && apt-get upgrade +
- +
-</code> +
- +
-En cas d'erreur de doublons de dépots dans la mise à jour, corriger manuellement avec cette doc : [[https://librazik.tuxfamily.org/doc2/logiciels/synaptic/doublon|https://librazik.tuxfamily.org/doc2/logiciels/synaptic/doublon]] +
- +
-===== 3. Ajout de paquets liés à Librazik ===== +
- +
-On a besoin surtout de **jackd**  (serveur de son), de **qjackctl**  (interface de gestion de Jackd) (mais on pourra aussi lui préférer **Cadence**  couplé avec **Catia**  qui jouent le même rôle) et de **IDJC, [[http://idjc.sourceforge.net/|Internet DJ Console]] ** (qui sera l'outil principal de la webradio). +
- +
-Certains recommandent l'usage d'un noyau Linux Basse Latence (à confirmer ?) pour réduire le temps entre l'entrée du son et le retour dans le casque par exemple. +
-<code> +
- +
-sudo apt install idjc qjackctl linux-image-4.9.0-8-lzk-bl-amd64 # remplacer qjackctl par cadence et catia +
- +
-</code> +
- +
-===== 4. Paramétrage de Jackd ===== +
- +
-Jackd est un serveur de son, utile pour pouvoir gérer plusieurs entrées. IDJC n'en a pas besoin pour fonctionner et diffuser un flux audio vers la radio, mais il est nécessaire pour gérer différentes entrées son : pistes son, son externe (micros), son depuis un navigateur Internet… +
- +
-Il est recommandé de lancer Jack avec l'utilitaire QJackctl. +
- +
-Jack arrêté : +
- +
-{{https://ladoc.cemea.org//lib/plugins/ckgedit/fckeditor/userfiles/image/technique/webradio/qjackctl-arrete.png?direct&542x133}} +
- +
-Jack démarré (mode TR Temps réel avec le noyau basse latence installé et démarré dessus) et 0 (0) x-runs (décrochage = craquements). +
- +
-Le processeur est utilisé à 3,4 %. +
- +
-{{https://ladoc.cemea.org//lib/plugins/ckgedit/fckeditor/userfiles/image/technique/webradio/qjackctl-demarre.png?direct&542x133}} +
- +
-**Réglages**  de QJackctl, onglets Paramétres : On peut ajouter un péripherique audio à utiliser dans Jack dans **Interface **  (sa carte son interne si on veut l'utiliser comme entrée micro ou la sortie locale = le retour de ce qui est diffusé en direct et même un peu plus…). +
- +
-On peut passer la **fréquence d'échantillonnage**  à 44100 Hz et descendre **Echantillons/Période**  à 512 ou 256 ou moins pour trouver un compromis intéressant entre "CPU utilisé" et "latence"+
- +
-Atteindre une latence de 5ms avec 5% de CPU est très correct. +
- +
-{{https://ladoc.cemea.org//lib/plugins/ckgedit/fckeditor/userfiles/image/technique/webradio/qjackctl-parametres.png?direct&700x385}} +
- +
-On peut ajouter des options pour lancer Jack dès le lancement de Qjackctl, le démarrer minimisé dans la barre des tâches +
- +
-Pour une config optimale, voir cette page pour un logiciel de gestion de jackd similaire : [[https://librazik.tuxfamily.org/doc2/manuel/configuration_jack|https://librazik.tuxfamily.org/doc2/manuel/configuration_jack]] +
- +
-et cette page pour tout saisir de Jack avec Cadence : [[https://librazik.tuxfamily.org/doc2/logiciels/suite-cadence/cadence|https://librazik.tuxfamily.org/doc2/logiciels/suite-cadence/cadence]] +
- +
-===== 5. Paramétrage de Connexions Jack ===== +
- +
-Lancer le Graphe de QJackctl pour voir vos interfaces utiles. +
- +
-Ici on voit : +
- +
-  * Pulseaudio Jack Sink = pont entre le son sorti de pulseaudio (son joué dans le navigateur par exemple) +
-  * System Playback = la sortie de la carte son du PC = Hauts-parleurs du PC portable par exemple +
-  * System Capture = périphérique de capture de son de la carte son = micro interne ou externe connecté sur l'entrée son +
-  * PulseAudio Jack source = entrée dans le serveur Jack pour être réutilisé +
- +
-{{https://ladoc.cemea.org//lib/plugins/ckgedit/fckeditor/userfiles/image/technique/webradio/qjackctl-graphe.png?nolink&1000x526}} +
- +
-Il va maintenant falloir lancer **IDJC**  qui va rajouter beaucoup d'entrées utiles comme : +
- +
-  * **str_out**  l&r qui sont les 2 sorties vers le flux principal +
-  * **dj_out**  l&r qui sont les sorties DJ, pas nécessairement les mêmes +
-  * **ch_in_1**  à 4 qui sont des entrées dans IDJC. C'est la qu'on va greffer tout ce qui va venir de l'exterieur : micros, musique du navigateur Internet +
-  * **alarm_out**  : signal utilisé en fin de morceau pour alerte +
-  * **pl**  et **pr**  : player left 1 et player right 2 dans l'interface de IDJC : on ne s'en occupe pas +
-  * **pi**  et **pe**  : je ne sais pas, sans doute les Effets (jingle) et les musiques de fond. +
-{{https://ladoc.cemea.org//lib/plugins/ckgedit/fckeditor/userfiles/image/technique/webradio/graphe-jackd-idjc-finale.png?nolink&1000x718}} +
- +
-Au final, on doit connecter manuellement : +
- +
-  * **PulseAudio Jack Sink**  vers **ch_in_3** +
-  * Le périphérique d'entrée des micros (ici le **System capture**  mais ça peut être la table de mixage en USB) vers **ch_in_1 et ch_in_2** +
-  * **str_out **vers le **Playback**  local si on veut avoir un retour direct du son diffusé +
-  * **alarm_out**  vers le **Playback**  local pour entendre les alarmes dans le studio +
-  * pour le reste on verra, mais ça marche déjà comme ça. +
- +
-On peut ajouter des options pour lancer Jack dès le lancement de Qjackctl, le démarrer minimisé dans la barre des tâches +
- +
-Pour une config optimale, voir cette page pour un logiciel de gestion de jackd similaire : [[https://librazik.tuxfamily.org/doc2/manuel/configuration_jack|https://librazik.tuxfamily.org/doc2/manuel/configuration_jack]] +
- +
-et cette page pour tout saisir de Jack avec Cadence : [[https://librazik.tuxfamily.org/doc2/logiciels/suite-cadence/cadence|https://librazik.tuxfamily.org/doc2/logiciels/suite-cadence/cadence]] +
- +
-===== 6. Configuration de IDJC ===== +
- +
-Décocher "**Voir**" → **Canal mêtres**  qui ne nous intéressent pas +
- +
-Aller dans **Voir / Préférences**  et modifier : +
- +
-**Onglet Général :** +
- +
-Transmissions simultannées : **1**  (on ne veut pas émettre sur plusieurs canaux en même temps mais on pourrait) +
- +
-Nom du fichier d'enregistrement : **emission-%Y%m%d-%H%M%S.$r **au lieu de idjc-blabla. +
- +
-{{.:webradio:idjc-preferences-generaux.png?nolink&829x718}} +
- +
-**Onglet Canaux** +
- +
-Renommer dans le canal 1 le texte "DJ" en "MicroRadios" et dans le 2 le "Aux" en "MusiqueInternet" +
- +
-{{.:webradio:idjc-preferences-canaux.png?nolink&829x718}} +
- +
-Et regarder les raccourcis "Scorciatoie" +
- +
-===== 7. Configuration pour diffusion et enregistrement dans IDJC ===== +
- +
-Aller dans **Voir / Sortie** +
- +
-Il n'y a qu'une sortie puisqu'on a enlevé les autres. On clique sur «**Configuration**» et on choisit l'onglet «**Connexion**» et le bouton "**Nouveau**" +
- +
-<WRAP center round important 70%> \\ Il semble que le script paramètre le canal de diffusion sur "radios.cemea.org/listen" de base. +
- +
-Il faut supprimer cette config pour pouvoir éditer et paramétrer la sienne en "Icecast 2 Maître" +
- +
-</WRAP> +
- +
-**{{https://ladoc.cemea.org//lib/plugins/ckgedit/fckeditor/userfiles/image/technique/webradio/idjc-sortie-vierge.png?direct&700x421}}** +
- +
-On remplit les champs avec son canal : +
- +
-{{https://ladoc.cemea.org//lib/plugins/ckgedit/fckeditor/userfiles/image/technique/webradio/idjc-sortie-icecast.png?direct&491x447}} +
- +
-On n'oublie pas "**source**" ni son bon mot de passe de canal. On laisse cochée la petite case du bas pour avoir les stats d'écoute en direct !!! Et on valide. +
- +
-Se rendre dans l'onglet "**Format**" et choisir MPEG puis enchainer les paramètres par défaut , jusqu'à obtenir la configuration jointe où les 3 capacités sont en vert : +
- +
-Icecast (o) - Shoutcast (o) - Recordable (o) +
- +
-Et on peut personnaliser l'onglet "**Informations sur le flux**" et on peut jeter un oeil à "**Contrôle individuel**" +
- +
-On peut aussi personnaliser le lieu des enregistrements : le 1 en Flux 1 (celui d'envoi = mp3) et le 2 en FLAC (sans perte). +
- +
-On ferme et on est prêt pour la première session live ! +
- +
-===== 8. On balance la sauce sur le web ! ===== +
- +
-Pour lancer la diffusion sur le canal : +
- +
-**Fichier / flux / 1 votre flux**  ou **connexion de groupe**. A activer ou désactiver +
- +
-Pour enregistrer la diffusion : +
- +
-**Fichier / Enregistreurs**  / 1 ou 2 ou les 2 selon votre besoin. A activer ou désactiver +
- +
-==== Interface de IDJC. ==== +
- +
-2 onglets : +
- +
-**Lecteur principal**  pour diffuser des musiques en alternance avec les players (vous vous souvenez des entrées pl et pr dans le graphe de Qjackctl ? Ce sont eux) en haut et le Crossfader en bas : cocher bien «Monitor mix : Flux" et non DJ. +
- +
-{{.:webradio:idjc-interface.png?nolink&1366x718}} +
- +
-**Effets**  : pour balancer des jingles ou des musiques de fond (pendant une histoire par exemple). +
- +
-{{.:webradio:idjc-vumetre-diffusion.png?nolink&174x718}} +
- +
-Les boutons en bas servent à envoyer sur le Stream (flux sortant de la radio)': **MicroRadios**  pour les micros branchés sur le ch_in_1, et **MusiquesInternet**  sur le ch_in_3 +
- +
-On oublie vite les options Voip et téléphonie qui ne nous concernent pas. +
- +
-Le bandeau à droite est très intéressant, car en plus du vu-mètre, il indique aussi : +
- +
-  * si le flux est diffusé (flux = vert) +
-  * si le ou les enregistrements sont lancés (Enregistrer 1 et 2 en vert) +
-  * le nombre d'auditeurs connectés (casque : 0, 1, 2…) +
- +
-Je connais pas la différence entre VU et Pick ??? +
- +
-===== Que faut-il faire maintenant ? ===== +
- +
-Voilà, il reste à faire des essais avec du matos différent et regarder toutes les options utiles qu'on activera par défaut dans des fichiers de conf par défaut. +
- +
-Il faut malmener l'interface de IDJC pour en comprendre les subtilités et voir tout ce qui est utile / inutile pour nos besoins. +
- +
-Objectif : proposer un paquet deb qui installe tout ce qu'il faut et ajouter des outils simples : +
- +
-  * Créer sa config (canal, mot de passe) et son interface audio +
-  * Lancer le IDJC avec le jack par défaut et la conf du canal par défaut +
-  * Une doc pour accompagner tout ça +
-  * On peut aussi imaginer une distribution Linux cléf en main avec tout ça d'installé comme la webradio V1. +
-  * On garde aussi en tête que tout ça doit pouvoir être modifié, adapté pour d'autres structures. +
- +
-Donc essayer de regarder toutes les options, de comprendre comment ça fonctionne et de trouver de supers astuces. +
- +
----- +
- +
  • technique/webradiov2_librazik.1606435019.txt.gz
  • Dernière modification : 2020/11/27 00:56
  • de lolo