Utilizzando gli strumenti della riga di comando puoi fare quanto segue:
- Installa brew
- Aggiornamento e preparazione del medico
-
Installa portaudio, ffmpeg e tutte le dipendenze con brew
brew install portaudio
brew install ffmpeg
-
Installa pip scaricando get-pip.py (collegamento diretto) ed eseguendo
sudo python ~/Downloads/get-pip.py
-
Installa soundmeter
sudo pip install soundmeter
-
Esegui soundmeter. Per ottenere aiuto usa l'opzione -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)
L'esecuzione di soundmeter
genererà un valore RMS . Dopo aver definito una soglia, puoi attivare un'azione script della shell (che a sua volta può attivare uno script AppleScript) con l'opzione -e.
Inserendo soundmeter --segment 0.1 --log
guardando la TV online (il cambiamento climatico e la coltivazione del caffè in Colombia - la fine dei fagioli Arabica) mostrerà qualcosa come:
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
Giusto per confermare: questo è il livello di ingresso del microfono e non il livello sonoro dello streaming TV perché l'installazione di cui sopra viene eseguita in un guest VM e lo streaming TV sul Mac di hosting - testato ma non registrato con alcuni applausi che aumenterà il valore RMS a valori superiori a 200!
Per inviare un messaggio dopo un evento di attivazione, procedi come segue: modifica <user_name>
nel nome utente breve di OS X e <telephone_number>
in un numero di telefono appropriato di seguito:
-
Crea una directory e modificala:
mkdir ~/.soundmeter
cd ~/.soundmeter
-
Crea un AppleScript:
nano sendMessage.applescript
con il contenuto:
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
-
Crea uno script di shell:
nano sendMessage.sh
con il contenuto:
#!/bin/bash
osascript /Users/<user_name>/.soundmeter/sendMessage.applescript <telephone_number> "Another Arabica bean died"
e modifica le autorizzazioni:
chmod 755 sendMessage.sh
-
Ora avvia soundmeter con un comando come questo:
soundmeter -t +38 -a exec -e /Users/<user_name>/.soundmeter/sendMessage.sh
Questo dovrebbe inviare un messaggio al tuo numero di telefono (iPhone). Si noti che non è possibile inviare un iMessage a se stessi. L'invio a un alias può funzionare. Altri script (Apple) simili sono disponibili qui: Come inviare un testo di imessage con applescript, solo nel servizio fornito?