À l'aide d'outils de ligne de commande, vous pouvez effectuer les opérations suivantes :
-
Installer brew
-
Mise à jour et brassage des médecins
-
Installez portaudio, ffmpeg et toutes les dépendances avec brew
brew install portaudio
brew install ffmpeg
-
Installez pip en téléchargeant get-pip.py (lien direct) et en exécutant
sudo python ~/Downloads/get-pip.py
-
Installer sonomètre
sudo pip install soundmeter
-
Lancez le sonomètre. Pour obtenir de l'aide, utilisez le commutateur -h :
soundmeter -h
optional arguments:
-h, --help show this help message and exit
-c, --collect collect RMS values to determine thresholds
-s SECONDS, --seconds SECONDS
time in seconds to run the meter (default forever)
-a {stop,exec-stop,exec}, --action {stop,exec-stop,exec}
triggered action
-t [+|-]THRESHOLD [NUM ...], --trigger [+|-]THRESHOLD [NUM ...]
trigger condition (threshold RMS and number of times)
-e SCRIPT, --exec SCRIPT
shell script to execute upon trigger
-d, --daemonize run the meter in the background
--log [LOGFILE] log the meter (default to ~/.soundmeter/log)
-v, --verbose verbose mode
--segment SECONDS audio segment length recorded in seconds (defaults to
0.5)
Simplement courir soundmeter
produira un Valeur RMS . Après avoir défini un seuil, vous pouvez déclencher une action shell script (qui peut elle-même déclencher un AppleScript script) avec le commutateur -e.
Entrer sur soundmeter --segment 0.1 --log
En regardant la télévision en ligne (le changement climatique et la culture du café en Colombie - la fin des grains d'arabica), vous verrez quelque chose du genre :
2017-01-25 18:16:02,289 24
2017-01-25 18:16:02,665 24
2017-01-25 18:16:03,037 31
2017-01-25 18:16:03,399 3
2017-01-25 18:16:03,769 15
2017-01-25 18:16:04,142 11
2017-01-25 18:16:04,524 9
2017-01-25 18:16:04,891 7
2017-01-25 18:16:05,257 7
2017-01-25 18:16:05,632 0
2017-01-25 18:16:06,001 7
2017-01-25 18:16:06,384 0
2017-01-25 18:16:06,745 2
2017-01-25 18:16:07,113 10
2017-01-25 18:16:07,491 14
2017-01-25 18:16:07,860 6
2017-01-25 18:16:08,223 0
2017-01-25 18:16:08,609 13
2017-01-25 18:16:08,973 16
2017-01-25 18:16:09,347 7
2017-01-25 18:16:09,720 26
2017-01-25 18:16:10,091 1
2017-01-25 18:16:10,464 38 an Arabica bean died here
2017-01-25 18:16:10,835 13
2017-01-25 18:16:11,204 Stopped
Juste pour confirmer : c'est le niveau d'entrée du microphone et non le niveau sonore du flux TV car l'installation ci-dessus fonctionne dans une VM invitée et le flux TV sur le Mac hôte - testé mais pas enregistré avec des applaudissements qui augmenteront le RMS à des valeurs supérieures à 200 !
Pour envoyer un message après un événement déclencheur, procédez comme suit : changez <user_name>
à votre nom d'utilisateur court OS X et <telephone_number>
au numéro de téléphone approprié ci-dessous :
-
Créez un répertoire et changez-y :
mkdir ~/.soundmeter
cd ~/.soundmeter
-
Créez un AppleScript :
nano sendMessage.applescript
avec le contenu :
on run {targetBuddyPhone, targetMessage}
tell application "Messages"
set targetService to 1st service whose service type = iMessage
set targetBuddy to buddy targetBuddyPhone of targetService
send targetMessage to targetBuddy
end tell
end run
-
Créer un shell script :
nano sendMessage.sh
avec le contenu :
#!/bin/bash
osascript /Users/<user_name>/.soundmeter/sendMessage.applescript <telephone_number> "Another Arabica bean died"
et changez les permissions :
chmod 755 sendMessage.sh
-
Maintenant, démarrez soundmeter avec une commande comme celle-ci :
soundmeter -t +38 -a exec -e /Users/<user_name>/.soundmeter/sendMessage.sh
Cela devrait envoyer un message à votre numéro de téléphone (iPhone). Veuillez noter que vous ne pouvez pas vous envoyer un iMessage à vous-même. L'envoyer à un alias peut fonctionner. D'autres scripts (Apple)scripts similaires sont disponibles ici : Comment envoyer un texte imessage avec applescript, uniquement dans le service fourni ?