Le site arthur.bebou.netlib.re - retour accueil
git clone git://bebou.netlib.re/arthur.bebou
Log | Files | Refs |
commit 40ab4727d1a660f7fa2d16f479bfcec6c8aeb893 parent 260e2010af2bd690a4cef81880b8a23e1a7cbcd2 Auterice: Arthur Pons <arthur.pons@unistra.fr> Date: Wed, 12 Jun 2024 16:25:37 +0200 Relecture sup-sonore Diffstat:
M | contents/sup-sonore/index.sh | | | 55 | ++++++++++++++++++++++++++++--------------------------- |
1 file changed, 28 insertions(+), 27 deletions(-)
diff --git a/contents/sup-sonore/index.sh b/contents/sup-sonore/index.sh @@ -10,8 +10,8 @@ Cet article n'a pas encore été relu, un peu d'indulgence svp :) ## But et outillage -Une fois n'est pas coutume, faisons quelque qui n'implique pas *que* du texte. -Quelque chose d'un peu plus fun. De la supervision de serveurs web avec du son. +Une fois n'est pas coutume, faisons quelque chose qui n'implique pas *que* du texte. +Quelque chose d'un peu plus fun : de la supervision de serveurs web avec du son. Cette expérimentation n'a pas vocation à se substituer à ce que serait de la supervision plus sérieuse. Elle a pour but : @@ -26,8 +26,8 @@ J'ai décidé dans cet article d'utiliser principalement et de la vidéo. Cette décision est principalement motivée par le fait que je ne connais pas vraiment d'outil similaire et que celui-ci est fait pour être utilisé en ligne de commande, ce que j'apprécie. Cela dit ce ne veut pas pour -autant dire que son utilisation est facile. ffmpeg est connu pour ses quantités -d'options absolument gigantesques, ce qui est un atout en cela que la commande +autant dire que son utilisation est facile. ffmpeg est connu pour sa quantité +d'options absolument gigantesque, ce qui est un atout en cela que la commande "sait tout faire", mais est un gros désavantage à sa prise en main, sa découvrabilité, son utilisation lors des phases exploratoires. Ce passage du site de l'outil : @@ -36,28 +36,28 @@ site de l'outil : > $ ffmpeg -i input.mp4 output.avi -Est vrai mais disons qu'une fois sortie des cas d'usages les plus simples ça +Est vrai mais une fois sortie des cas d'usages les plus simples ça part vite en cacahuète. Comme beaucoup d'outils en ligne de commande passé une certaine quantité et complexité de paramétrage. Cet article ne sera pas un cours de ffmpeg. Pour tout avouer je n'y comprends -pas grand chose et j'en suis malheureusement encore à l'étape "copier/coller des +pas grand chose et j'en suis malheureusement encore à l'étape *"copier/coller des trucs de stackoverflow et me plaindre de la documentation un peu nulle sans vraiment l'avoir lu ni vouloir investir le temps nécessaire à comprendre les -principes fondamentaux" de ma relation avec cet outil. Avant lui le shell, +principes fondamentaux"* de ma relation avec cet outil. Avant lui le shell, gnuplot, sed etc. ## Créer du son Avant de se demander comment lier les logs à du son, demandons nous comment en -créer. Il y aurait mille façon de le faire, mille source à utiliser et mille +créer. Il y aurait mille façons de le faire, mille sources à utiliser et mille sons à créer. Nous allons ici utiliser ffmpeg mais tout le reste de l'article peu se dérouler avec n'importe quel fichier audio, il n'est pas nécessaire d'en générer un de zéro. Dans ffmpeg il existe un concept de "[device](https://ffmpeg.org/ffmpeg-devices.html)". Un device est... bah je sais -pas bien. Je vous avais dit que c'était pas un cours de ffmpeg. Ils semblent +pas bien. Ils semblent pouvoir être en entrée ou en sortie. En entrée un device semble être un élément configurable qui permet d'accéder à une source d'audio. Par exemple si vous êtes sur un linux, que vous utilisez @@ -67,11 +67,11 @@ sur votre ordinateur alors vous pouvez probablement y accéder via le device Il se trouve qu'il existe un device nommé [lavfi](https://ffmpeg.org/ffmpeg-devices.html#lavfi) qui permet de générer une -entrée "virtuelle". Il semble possible de faire pleins de choses avec sans bien -comprendre comment cela fonctionne je me suis contenté de trouver ça sur les -internet : +entrée "virtuelle". Il semble possible de faire pleins de choses avec mais sans +bien comprendre comment cela fonctionne je me suis contenté de trouver ça sur +les internet : - ffplay -f lavfi -i "sine=frequency=440:duration=1" + $ ffplay -f lavfi -i "sine=frequency=440:duration=1" endsection @@ -83,9 +83,9 @@ généré dans un fichier avec ffmpeg plutôt que de directement le lire. sectionmd: main -Cette commande utilise de device `lavfi` et prend un entrée des commandes +Cette commande utilise de device `lavfi` et prend en argument des commandes comprises par lavfi qui ici génèrent une fréquence de 440Hz pendant une seconde. -Ici `sine` est un "filtre" documenté +`sine` est un "filtre" documenté [ici](https://ffmpeg.org/ffmpeg-filters.html#Sine). Il est un peu particulier puisque contrairement à la plupart des filtres il n'a pas pour objet de modifier une source mais d'un créer une. Il n'a donc pas d'entrée. @@ -95,13 +95,13 @@ endsection <<. ./details "du bruit lovecraftien horrifique avec anoisesrc" | save_html main Au passage je joue avec d'autres filtres et du bruit marron avec un sample -rate très bas donne un côté "bruit qui vient du tréfond des océans assez +rate très bas donne un côté "bruit qui vient du tréfond des océans" assez flippant et lovecraftien. Essayez - $ ffplay -f lavfi -i "anoisesrc=c=brown:r=1000:a=1" + $ ffplay -f lavfi -i "anoisesrc=c=brown:r=1000:a=1" -Le visuel généré par ffplay donne une dimension encore plus angoissante. -Le saviez vous ? Lovecraft [était très raciste et antisémite](https://fr.wikipedia.org/wiki/H._P._Lovecraft#Race,_ethnie_et_classe) +Le visuel généré par ffplay donne une dimension encore plus angoissante. +Le saviez vous ? [Lovecraft était très raciste et antisémite](https://fr.wikipedia.org/wiki/H._P._Lovecraft#Race,_ethnie_et_classe) . @@ -177,9 +177,10 @@ endsection <<\. ./details "ssh, les commandes et les pipes" | save_html main Si vous êtes étonné·es de voir ssh utilisé de la sorte j'explique. L'usage -"habituel" d'ssh est de `ssh host`, on récupère un shell interactif et c'est en -argument d'ssh n'importe quelle commande à exécuter sur la machine distante. -Ici on récupère donc les log du serveur à l'aide d'un `tail`. Deuxième surprise +"habituel" d'ssh est de `ssh host` ce qui permet de récupérer un shell +interactif sur la machine distant. En réalité on peut passer n'importe quelle +commande en argument d'ssh. Celle-ci s'exécutera sur la machine distante. Ici +on récupère donc les logs du serveur à l'aide d'un `tail`. Deuxième surprise éventuelle, le fait de piper le résultat de la commande ssh dans la suite de notre script. Ca peut paraître un peu magique (ou au contraire tout à fait logique selon les personnes) mais ssh "connecte" les entrées et sorties des @@ -190,7 +191,7 @@ commandes locales et distantes. Ainsi dans : * `seq 10` est exécuté sur la machine locale, sa sortie est branchée à l'entrée de la commande `ssh` * `ssh` est exécuté en local et lance `paste -s -d '+'` sur la machine - distante. Au passage ssh branche son entrée (la sortie de seq) sur l'entrée + distante. Au passage ssh branche son entrée (la sortie de `seq`) sur l'entrée de la commande `paste` sur la machine distante. ssh récupère également la sortie du paste sur la machine distante pour la transmettre au pipe sur la machine locale. @@ -225,13 +226,13 @@ chacun : site=$(echo "$line" | grep -oE '/(arthur|doublezip|zinzine)\.') case "$site" in (/arthur.) - ffplay -autoexit -nodisp -loglevel panic -i bip-arthur.ogg & ;; + ffplay -autoexit -nodisp -loglevel panic -i bip-281.ogg & ;; (/doublezip.) - ffplay -autoexit -nodisp -loglevel panic -i bip-doublezip.ogg & ;; + ffplay -autoexit -nodisp -loglevel panic -i bip-624.ogg & ;; (/zinzine.) - ffplay -autoexit -nodisp -loglevel panic -i bip-zinzine.ogg & ;; + ffplay -autoexit -nodisp -loglevel panic -i bip-812.ogg & ;; (*) - ffplay -autoexit -nodisp -loglevel panic -i bip.ogg & ;; + ffplay -autoexit -nodisp -loglevel panic -i bip-479.ogg & ;; esac sleep 0.2 done