Estou interessado em usar meu antigo MacBook como um monitor de áudio para bebês. Meu fluxo de trabalho imaginado é definir um limite de ruído para o microfone interno no MacBook quando o bebê está mexendo ou choramingando e para usar Mensagens para enviar mensagens de texto para mim ou minha esposa quando o limite for atingido.
Quando estou procurando nas Preferências do Sistema, posso ver Input level
que o microfone está captando ruído, mas como posso obter um número quantificável no Terminal?
Eu já via on-line osascript -e "get volume settings"
para acessar um valor numérico de quão sensível o microfone deve ser definido, mas não consigo encontrar uma maneira de acessar o volume de entrada de uma entrada a qualquer momento.
Alguma idéia por aí?
fonte
Respostas:
Usando ferramentas de linha de comando, você pode fazer o seguinte:
Instale portaudio, ffmpeg e todas as dependências com brew
Instale o pip baixando get-pip.py (link direto) e executando
Instalar o soundmeter
Execute o soundmeter. Para obter ajuda, use a opção -h:
Basta executar
soundmeter
um valor de RMS . Depois de definir um limite, você pode acionar uma ação do shell script (que pode desencadear um script AppleScript) com a opção -e.Entrando
soundmeter --segment 0.1 --log
assistindo TV on-line (mudança climática e cafeicultura na Colômbia - o fim do feijão Arábica) mostrará algo como:Apenas para confirmar: esse é o nível de entrada do microfone e não o nível de som do fluxo de TV porque a instalação acima é executada em um convidado da VM e o fluxo de TV no Mac de hospedagem - testado, mas não registrado com alguns clapping que aumentará o RMS para valores acima de 200!
Para enviar uma mensagem após um evento de ativação, faça o seguinte - altere
<user_name>
para o nome de usuário abreviado do OS X e<telephone_number>
para um número de telefone apropriado abaixo:Crie um diretório e mude para ele:
Crie um AppleScript:
com o conteúdo:
Crie um script de shell:
com o conteúdo:
e mude as permissões:
Agora inicie o soundmeter com um comando como este:
Isso deve enviar uma mensagem para o seu número de telefone (iPhone). Por favor, note que você não pode enviar um iMessage para si mesmo. Enviá-lo para um alias pode funcionar. Outros scripts semelhantes (Apple) estão disponíveis aqui: Como enviar um texto imessage com applescript, apenas no serviço fornecido?
fonte