Sensor de micrófono para captar la voz desde el otro lado de la habitación

Me gustaría crear una especie de Google Home DIY usando una Raspberry Pi y un software de reconocimiento de voz.

Estoy buscando un sensor de micrófono que capte mi voz desde el otro lado de la habitación, pero casi todos los micrófonos que he visto se ven así: y están claramente diseñados para estar cerca de la boca de alguien/la fuente de sonido. (Por favor corrígeme si estoy equivocado.)
Micrófono de voz

Encontré un micrófono de condensador barato que se parece a esto: ¿funcionaría? ¿O estoy mirando la cosa completamente equivocada?
micrófono de condensador

Tiene más que ver con la ganancia y el ruido en el amplificador del micrófono (el bit entre el micrófono y R-Pi) que con el aspecto del micrófono.
¿Hay otras fuentes de sonido en la habitación?
Debe familiarizarse con los conceptos principales de propagación del sonido, campo cercano frente a campo lejano, reflejos, etc., antes de embarcarse en el reconocimiento de voz desde una distancia lejana.
No necesitas un micrófono realmente especial. Un micrófono normal captará casi todo en una habitación típica. El problema radica en separar la voz de los demás sonidos. Puede usar varios micrófonos y algún procesamiento de señal para seleccionar las voces, pero no será trivial.
Creo que SNR tendrá mucho que ver con las elecciones que tienes que hacer. Pero comenzaría un proyecto de este tipo considerando primero la idea de comprar al menos dos micrófonos. Tal vez incluso cuatro. (Estoy pensando aquí en aplicar conceptos de formación de haz o filtrado espacial al procesamiento). Estoy casi seguro de que tendrá que considerar incluir más de un micrófono en esta situación.

Respuestas (3)

NO necesita alta ganancia en su micrófono.

Lo que necesita es una alta relación señal (voz) a ruido.

No obtendrá una alta relación señal/ruido simplemente amplificando la señal del micrófono. Eso amplificará el ruido ambiental junto con la voz: la relación señal a ruido permanecerá igual (o se degradará un poco ya que el amplificador agregará algo de ruido propio).


Lo que necesita es un poco de ganancia, lo suficiente como para que una voz fuerte cerca del micrófono lo lleve a aproximadamente la mitad de la escala completa. Obtiene el rango máximo sin distorsión.

A continuación, necesitará varios micrófonos y un convertidor de analógico a digital con suficientes entradas para todos los micrófonos, muestreo de 16 bits y probablemente necesitará al menos una frecuencia de muestreo de 22 kHz.

Una vez que tenga el audio en una forma que pueda ser procesada, necesitará un software para seleccionar la(s) voz(es).

Seleccionar las voces del ruido de fondo no es trivial. La solución implica la formación de haces ("apuntar" los micrófonos para seleccionar fuentes particulares sin mover físicamente los micrófonos) y la reducción de ruido.

Una vez que haya seleccionado y aislado la voz, puede usar una etapa de ganancia automática para subir la voz a un nivel particular para facilitar las cosas para la sección de reconocimiento de voz.

Finalmente, puede decidir cómo debe reaccionar su dispositivo ante palabras o frases específicas.


El proyecto Jasper ya ha resuelto la mayoría de estos problemas si está utilizando Raspberry Pi.

Los micrófonos normales no son muy sensibles. Habla con ellos mientras monitoreas los voltios de salida en un osciloscopio y verás lo que quiero decir. Probé un micrófono parabólico. Lo que siempre funcionaba era un altavoz al revés. Probé un altavoz tipo bocina al revés y funcionó aún mejor. La mayoría de los altavoces son de baja impedancia, como 4 u 8 ohmios. Lo que hice en 1975 fue usar un transformador de salida al revés para proporcionar una mejor coincidencia con el preamplificador. una etapa de transistor de base común simple polarizada a aproximadamente 1 mA y luego la alimentó a un amplificador AF más convencional. Podía escuchar cosas a 30 pies de distancia con transistores Ge de la década de 1960.

Cuando era niño, construía amplificadores acoplados de CA bipolares de alta ganancia, la única fuente de señal que tenía era un altavoz de radio transistor de 2 ". Rasque el cono, para señales fuertes. Hable en el cono, para señales normales.

Eventualmente, aprendí el filtrado VDD adecuado. Las primeras 2 o 3 etapas bipolares tenían su propio VDD privado (equivalente de batería local) con 5000 uF y 100 ohmios. Las 2 o 3 etapas finales funcionaron directamente con la batería de tamaño "B" de 9 voltios. La salida probablemente fue para auriculares magnéticos, para evitar la retroalimentación acústica.

Ese amplificador, con captación de altavoz, fácilmente monitorea voces a 10 o 20 pies de distancia.

Debería poder hacer algo similar, hoy, con 2 o 3 etapas de OpAmps. Simplemente haga arreglos para que la energía privada llegue a la primera etapa, para evitar la oscilación de retroalimentación basada en VDD.

Esto es lo que sugiere Signal Chain Explorer: 3 etapas de ganancia opamp, 40dB/etapa usando modelos predeterminados (UGBW = 1MHz); la entrada es de 1 microVoltPP; Tuve que editar el primer amplificador operacional, reduciendo su densidad de ruido de 4 nanovoltios (1Kohm) a 0,5 nanovoltios (16 ohmios); También edité las resistencias de ajuste de ganancia de esa primera etapa: 5 ohmios y 495 ohmios. ¿Resultado? 18dB SNR para entrada de 1uVpp.ingrese la descripción de la imagen aquí

No, eso es demasiado fácil. Usemos 2 etapas de bipolar. Logramos una ganancia de 1.000 * 1.000.

esquemático

simular este circuito : esquema creado con CircuitLab