| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #!/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
|