¿Cuáles son los algoritmos disponibles para diseñar un detector de actividad de habla hablada cercana?

En una grabación a larga distancia siempre habrá eco de la señal reflejada desde las paredes. Entonces el sonido es bastante diferente de hablar de cerca.

El clasificador de aprendizaje automático puede ayudarlo a discriminar entre dos casos. Solo necesita recolectar suficientes muestras de conversación cercana y conversación distante y entrenar a un clasificador GMM para discriminar entre ambos. Puede encontrar algunos detalles sobre cómo entrenar un GMM aquí. Puede simular la acústica de la sala para entrenar en una mayor cantidad de datos con una simple reverb de sox. Hay métodos más avanzados como las respuestas de impulso de openslr.org

Para la extracción de características, puede usar MFCC, debería ser suficiente. Si desea discriminar de manera más confiable, puede incluir funciones de “eco” junto a MFCC simple. Por ejemplo, puede usar la correlación cruzada para estimar el retraso de tiempo como en la Correlación cruzada de la señal retrasada en ruido y luego simplemente incluir esa estimación en las características.

¿Cómo puedo diseñar un detector de actividad de voz de conversación cercana ( sin usar información de amplitud )?

Es posible que necesite obtener un micrófono diferente, algo con características muy direccionales, o agregar otro sensor para detectar la proximidad de la fuente de sonido. El habla solo tiene frecuencia, amplitud y tono, y si no quieres usar la amplitud, entonces tus opciones son muy limitadas.