Je souhaite utiliser mon ancien MacBook en tant que babyphone audio. Mon flux de travail imaginé consiste à définir un seuil de bruit pour le microphone interne du MacBook lorsque bébé remue ou gémit et à utiliser Messages pour envoyer un SMS à moi ou à ma femme lorsque le seuil est atteint.
Lorsque je regarde dans les Préférences Système, je peux voir Input level
que le microphone capte du bruit, mais comment puis-je obtenir un nombre quantifiable dans Terminal?
J'ai vu en ligne sur le point osascript -e "get volume settings"
d'accéder à une valeur numérique pour la sensibilité du microphone, mais je ne peux pas trouver un moyen d'accéder à la puissance d'une entrée à un moment donné.
Des idées?
terminal
applescript
audio
microphone
CephBirk
la source
la source
Réponses:
À l'aide des outils de ligne de commande, vous pouvez effectuer les opérations suivantes:
Installer portaudio, ffmpeg et toutes les dépendances avec brew
Installez pip en téléchargeant get-pip.py (lien direct) et en exécutant
Installer le sonomètre
Exécutez le sondeur. Pour obtenir de l'aide, utilisez le commutateur -h:
Une simple exécution
soundmeter
produira une valeur RMS . Après avoir défini un seuil, vous pouvez déclencher une action de script shell (qui peut elle-même déclencher un script AppleScript) avec le commutateur -e.Entrer en
soundmeter --segment 0.1 --log
regardant la télévision en ligne (changement climatique et culture du café en Colombie - la fin des grains d'arabica) montrera quelque chose comme: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 s'exécute dans un invité VM et le flux TV sur le Mac hôte - testé mais non enregistré avec des applaudissements qui augmenteront le RMS aux valeurs au-dessus de 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>
un numéro de téléphone approprié ci-dessous:Créez un répertoire et changez-le:
Créez un AppleScript:
avec le contenu:
Créez un script shell:
avec le contenu:
et modifiez les autorisations:
Maintenant, lancez soundmeter avec une commande comme celle-ci:
Cela devrait envoyer un message à votre numéro de téléphone (iPhone). Veuillez noter que vous ne pouvez pas vous envoyer un iMessage. L'envoyer à un alias peut fonctionner. D'autres scripts similaires (Apple) sont disponibles ici: Comment envoyer un texte imessage avec applescript, uniquement dans le service fourni?
la source