Como seguimiento a mi pregunta anterior, me preguntaba si existen bibliotecas de detección de voz. Por detección de voz me refiero a pasar un búfer de audio y obtener un índice de dónde comienza y se detiene el habla. Entonces, si tengo 10 segundos de muestreo de audio a 44kHz, esperaría una serie de números como:
44000
88000
123000
190334
...
Esto indicaría, por ejemplo, que el discurso comienza un segundo y luego termina en el punto de dos segundos, etc.
Lo que no estoy buscando es el reconocimiento de voz que escribe el texto de la palabra hablada. Desafortunadamente, esto es lo que veo mucho cuando busco en Google 'detección de voz'.
Sería genial si la biblioteca estuviera en C, C ++ o incluso Objective-C, ya que estoy escribiendo una aplicación para iPhone.
¡Gracias!
Respuestas:
En mi respuesta a su pregunta, mencioné que la detección de actividad de voz es una característica estándar para códecs como G.729 y otros.
Debe buscar codificadores y decodificadores de referencia para algoritmos que apliquen esto.
Un ejemplo de esto es: http://www.voiceage.com/openinit_g729.php
Otra posible fuente es el códec Speex. Que implementa VAD
Por cierto: debería buscar en Google "Detección de actividad de voz" o "Talk Spurt" en lugar de "Detección de voz".
fuente
Hay implementaciones de código abierto en los proyectos Sphinx y Freeswitch. Creo que todos los detectores basados en energía no necesitarán ningún tipo de modelo.
Sphinx 4 (Java, pero debería ser fácil de portar a C / C ++)
PocketSphinx
Freeswitch
Respuesta tomada de la pregunta de Stackoverflow .
fuente
La detección de actividad de voz usando el umbral adaptativo es muy fácil y práctica de implementar en cualquier plataforma
Aquí puede tener un algoritmo basado en energía adaptativa
Pequeña adición al algoritmo anterior cuando está calculando por primera vez, vaya a tomar Mean of Energy y marque como Emin
en esto, el marco que pasa se divide en subtramas y además puede examinar cada subtrama por su actividad
Puede superar otros problemas con marcos superpuestos
fuente
¿Qué hay de LibVAD?
Parece que eso hace exactamente lo que estás describiendo.
Divulgación: soy el desarrollador detrás de LibVAD
fuente