#!/bin/bash #from https://github.com/linuxmint/cinnamon-spices-applets/blob/master/mic-level%40zamszowy/files/mic-level%40zamszowy/rec.sh #dependances: sox alsa-utils #activer la capture avec : amixer set Capture cap (apparemment avec alsamixer ne suffit pas) set -eu logger "Demarrage script monitor_mic" envoie_xmpp () { chaine="`hostname` [monitor_mic] : `date +%H:%M:%S` $*" logger "Message XMPP a envoyer : $chaine" #NEW: xmppc -a default -m message chat manuel@servileto.net "$chaine" } #readonly rec_time=${1:-0.1} readonly rec_time=0.5 if amixer_out=$(amixer get Capture) && ! [[ $amixer_out =~ \[on\] ]]; then sleep "$rec_time" echo "-1" exit fi #RMS amplitude while [ true ] ; do #rec -n stat trim 0 "$rec_time" 2>&1 | awk '/^Maximum amplitude/ { $3 *= 100; print $3 }' #rec -n stat trim 0 "$rec_time" commandoutput=$(rec -n stat trim 0 "$rec_time" 2>&1) echo $commandoutput echo $commandoutput | awk -F'Maximum amplitude: ?' '{print $1}' #echo $commandoutput | awk '/^Maximum amplitude/ { $3 *= 100; print $3 }' #echo $commandoutput | awk '/^Mean amplitude/ { $3 *= 100; print $3 }' #echo $commandoutput | awk '/^RMS amplitude/ { $3 *= 100; print $3 }' #rec -n stat trim 0 "$rec_time" 2>&1 | awk '/^Mean amplitude/ { $3 *= 100; print $3 }' #envoie_xmpp "⚠ Monitor mic : bruit détecté (Niveau=$capacite_nouveau) !" sleep 2 done