Algún script que devuelva los decibelios del micrófono

Iniciado por Juancfernandez, 31 Octubre 2019, 04:46 AM

0 Miembros y 1 Visitante están viendo este tema.

Juancfernandez

Buenas, como dice el titulo. Quiero saber si es posible ejecutar determinado comando cuando se habla por un micrófono.

Tengo 8 camaras, 8 micrófonos y obs studio. Cada cámara con su respectiva escena. Lo que quiero lograr es que cada escena se active automáticamente cuando se esta hablando.

Se que hay software que lo hacen pero son muuy costosos.

Alguien tiene idea si se puede hacer con batch?

Geormarsch

Se me ocurre que en obs mantengas una serie de combinaciones de teclas para que puedas cambiar las escenas, el software debe detectar el micrófono y simular dicha tecla para que cambie la escena, podrías hacerlo en cualquier lenguaje que te permita la detección de audio.
El problema sería detectar de qué fuente viene el audio, porque supongo que todos los micrófonos van conectados a la misma tarjeta de sonido.
"Comentar el código es como limpiar el cuarto de baño; nadie quiere hacerlo, pero el resultado es siempre una experiencia más agradable para uno mismo y sus invitados"

WHK

Eso lo puedes hacer con arduino y un micrófono, de esa manera detectas cuando haya señal de entrada por el micrófono y mandas una pulsación por usb y luego en tu pc asignas esa tecla a la funcionalidad que tu quieras.

https://arduino.stackexchange.com/questions/22040/how-to-send-data-from-an-arduino-to-pc-without-using-the-serial-monitor

Sino lo puedes hacer en python, el interprete de windows es muy limitado, pero desde python puedes importar el módulo para capturar la entrada de audio por microfono y detectar niveles y ejecutar cosas cuando estos niveles sobrepasen cierta frecuencia o ganancia.

https://realpython.com/playing-and-recording-sound-python/

Saludos.

Juancfernandez

Tengo 8 placas de audios, una para cada micrófono. Y para cambiar las escenas uso una botonera que creé con visual basic que ejecuta los comandos websocket que es un plugin del obs.
Por eso quiero saber si es posible hacer un script que monitoree cada entrada de audio y que cuando suban los decibeles ejecute los comandos de websocket para cambiar de escena. Por lo tanto arduino no seria necesario.
Creo que deberia ser algún script que devuelva los db del microfono, entonces si es mayor a cierto numero ejecute el comando de websocket. Si es menor se queda en bucle. Y así uno a cada entrada de las placas de audio.

O mejor aún, supongamos que se puede hacer un script que si el numero de db es mayor a cierto numero genera un archivo (1.txt). Una vez que lo genero espera 2 segundos, si bajó el db lo borra.
Y asi con cada uno. (2.txt) (3.txt).
Entonces si existe el archivo 1 2 y 3 va a mostrar una escena con las 3 personas hablando. Si se borro el 2.txt va a mostrar al 1 y al 3.


Hay un software que la subscripción por mes cuesta al rededor de 100 usd que se llama CLOSE radiotv y te ofrece éso, pero las cosas en Argentina no están muy bien como para poder darme ese lujo.

Espero que alguien pueda orientarme, sólo pude aprender algo de batch navegando por la web. Pero estoy dispuesto a aprender cualquier lenguaje