Medir la voz humana para el nivel de ruido ambiental

Necesito desarrollar un nivel de ruido ambiental para medir la sonoridad en una oficina. A veces durante el día la gente levanta la voz más de lo debido y se crea mucha confusión. Entonces, este dispositivo debe instalarse en algún lugar, como en la mesa o en el techo, y debe encender un LED cuando el ruido es demasiado alto.

Pensé en hacerlo de esta manera:

-Conectar el electret a un filtro paso banda para aislar solo la voz humana, que debe ser analizada -Conectar la salida del filtro a un amplificador operacional (¿un x100 amp es suficiente?) -Conectar la salida del amplificador a un microcontrolador (como arduino) y leer el nivel de voz.

¿Debería funcionar? Espero leer un valor de 0 a 1024 del microcontrolador, ¿es eso posible?

¡Muchas gracias!

Mida la señal, luego conviértala con el periférico ADC en el microcontrolador, procese los valores obtenidos (filtre) con algunas ecuaciones, sume los valores útiles (frecuencia de voz) y muéstrelos en la pantalla LCD, ese será el concepto.

Respuestas (3)

El espectro de la voz humana se encuentra aproximadamente en la banda entre 300 y 3000 Hz, por lo que para asegurarse de que su widget responda principalmente a esa banda, necesitará un filtro de paso de banda en algún lugar aguas abajo del micrófono electret, como anotó.

Después de eso, en lugar de cualquier cosa digital, simplemente usaría un 555 en modo monoestable con su entrada TRIGGER AC acoplada a la fuente de audio filtrada y la ganancia de la fuente de audio configurada para que cuando alguien en la sala hablara demasiado alto activa el 555.

El uso de un potenciómetro para variar el nivel de salida de la fuente de audio permitiría establecer la amplitud del disparador haciendo que alguien en el límite del rango de detección hable en voz alta mientras otra persona ajusta el potenciómetro; la configuración correcta se encuentra cuando el LED encendido

Luego, cuando el LED se encendía, permanecía encendido durante el tiempo determinado por la constante de tiempo del control remoto externo del 555, luego se apagaba y permanecía apagado hasta la próxima vez que alguien gritara, comenzando el ciclo nuevamente.

Alternativamente, el nivel de activación de un comparador de voltaje podría ajustarse, como se muestra a continuación, cambiando la relación de las resistencias en el divisor de referencia, R3R4, que podría ser fácilmente un potenciómetro para facilitar el ajuste in situ .

Aquí está el esquema:

ingrese la descripción de la imagen aquí

V2, V3 y V4 simulan una salida de electret plana de 300 Hz a 3 kHz, con un pico de 6 dB a 1350 Hz que representa la señal de sonido fuerte en el electret.

C3, R6, R5, R8 y C5 comprenden un filtro de paso de banda crudo para proporcionar cierta selectividad en la entrada de U3, un opamp que se usa como comparador de voltaje con su punto de conmutación determinado por R3 y R4.

En funcionamiento, cuando la señal en U3- sube más que el voltaje de referencia en U3+, la salida de U3 bajará, activando U1 y generando un pulso con un ancho de alrededor de 1.1R1C1 y una amplitud de alrededor de 11 voltios en R7 y el LED.

aquí está la trama:ingrese la descripción de la imagen aquí

Puede ver que la salida del 555 aumenta y dura aproximadamente 1 segundo cuando la pequeña perturbación en U3 hace que genere un disparador de nivel bajo para el 555.

Finalmente, aquí están los archivos que necesitará para ejecutar la simulación LTspice si lo desea. Descargue ambos archivos en la misma carpeta y luego haga clic izquierdo en el archivo .asc para abrir el editor de esquemas.

Esquema 555

Como ya dijo EM Fields, el rango de la voz humana es de aproximadamente 300 Hz a 3 kHz. Probablemente necesite una ganancia de unos 100 a 1000 en este rango para que los sonidos de voz alcancen los niveles A/D del microcontrolador cuando alguien no está hablando directamente al micrófono.

Probablemente solo usaría dos filtros RC simples, un paso alto a 300 Hz y un paso bajo a 3 kHz. El micro puede muestrear a unos 10 kHz. Eso es una muestra cada 100 µs, que es un tiempo "largo" para que un micro moderno calcule un valor de volumen, decida si está por encima de cierto umbral y luego encienda un LED o lo que sea en consecuencia.

Para calcular una medida de volumen, primero debe restar el nivel cero. La señal debe estar acoplada a CA en la entrada A/D, que debe flotar a la mitad del rango A/D de una polarización de CC. Podría usar la mitad del rango A/D como un número fijo. Eso estará un poco mal, pero debería ser lo suficientemente bueno para su propósito. Por ejemplo, suponiendo un A/D de 10 bits, idealmente el nivel de silencio sería 511,5. En realidad podría ser 520 o 492 o algo así. Esa pequeña compensación estará muy por debajo de su umbral "alto", por lo que no importará mucho. La forma elegante de hacer esto es filtrar la señal con un filtro de paso alto. Dado que desea eliminar el ruido por debajo de 300 Hz de todos modos, puede hacer ese filtro en el firmware en lugar de afuera.

En cualquier caso, una vez que resta el nivel cero de lectura A/D, tiene valores de muestra instantáneos ±. Cuadre cada uno, luego filtro de paso bajo este flujo de valores cuadrados. Probablemente desee filtrar eso a solo unos pocos Hz, ya que así es como su valor de sonoridad responde rápidamente a los sonidos que capta. Compara este valor con un umbral para decidir si está por encima de su límite de volumen excesivo o no.

Esto puede sonar complicado, pero en realidad es bastante simple, y algo que incluso un pequeño micro puede hacer con 100 µs por muestra.

Permítanme comenzar diciendo que las dos respuestas existentes (hasta ahora) se basan en un par de premisas falsas.

En primer lugar, NO es cierto que la mayor parte de la energía de la voz humana se encuentre en el rango de 300-3000 Hz. Lo que SÍ es cierto es que esas frecuencias son las más importantes para la inteligibilidad , razón por la cual la compañía telefónica limita lo que transporta a esas frecuencias. De hecho, hay MUCHA energía por debajo de los 300 Hz, especialmente para las voces masculinas, y esta energía es lo que más contribuye al volumen percibido.

En segundo lugar, mirar solo el nivel absoluto del sonido general no discrimina bien entre fuentes de ruido de fondo y voces. Lo que debe observar son las variaciones a corto plazo en el nivel de sonido, donde esas variaciones caen en el rango de 1 a 10 Hz, que corresponde a la velocidad a la que las personas emiten sílabas. Cuando este llega a estar en un nivel excesivo es cuando debes encender tu LED.

Entonces, está en el camino correcto al amplificar la salida de un micrófono y luego digitalizarlo, pero el firmware del microcontrolador deberá tener algo de sofisticación para ser realmente efectivo en lo que desea.

¿Puede publicar un enlace a la relación entre el volumen percibido y la característica de frecuencia VS amplitud de la voz humana?