speech-recognition - voz - webkitspeechrecognition documentation
Análisis de audio para detectar la voz, el género, la edad y las emociones humanas: ¿se ha realizado algún trabajo previo de código abierto? (3)
Para su pregunta de clasificación y diarización del habla / no habla (determine el número de hablantes y cuándo hablan): hay un conjunto de herramientas de código abierto que puede hacer esto (automáticamente, por lo que habrá errores en la salida, por supuesto). Echa un vistazo a este post:
¿Existe un trabajo previo de código abierto realizado en el campo del ''Análisis de audio'' para detectar la voz humana (p. Ej., A pesar de algún ruido de fondo), determinar el género del hablante, posiblemente determinar no? de oradores, la edad de los oradores y la emoción de los oradores?
Mi corazonada es que el software de reconocimiento de voz como CMU Sphinx podría ser un buen lugar para comenzar, pero si hay algo mejor, sería genial.
Puede ser un poco difícil extraer información de bajo nivel, como el tono y la potencia, utilizando CMU Sphinx 4 (aunque la versión anterior podría tener la capacidad). Te sugiero que uses Praat. Puede escribir guiones para extraer el nivel de tono y cada uno de los formantes en la voz de un orador. Honestamente, el lenguaje de programación de Praat es horrible, pero hace muchas cosas rápidamente que de otra forma llevaría mucho tiempo. Muchos scripts de Praat también se publican en línea. Consulte http://www.fon.hum.uva.nl/praat/ .
Soy un estudiante graduado haciendo investigación de reconocimiento de voz. Estos son problemas de investigación abiertos y, desafortunadamente, no conozco paquetes de código abierto que puedan hacer estas cosas de manera inmediata.
Si tiene experiencia en la implementación de algoritmos de procesamiento de señales o de aprendizaje automático, puede intentar buscar documentos académicos utilizando algunos de estos términos de búsqueda:
- identificación de género (a veces llamada reconocimiento de género): predecir el género del hablante a partir de la expresión del discurso
- Identificación de la edad: predicción de la edad del hablante.
- identificación del hablante: predicción, a partir de un conjunto de posibles oradores, el hablante más probable en una expresión oral
- Verificación del hablante: aceptar o rechazar una expresión como perteneciente a un hablante (imagine un sistema de autorización de tipo "huella de voz")
- diarización del hablante: toma un archivo de audio con varios archivos y rotula qué segmentos del habla pertenecen a qué hablante
- Reconocimiento de emociones: predecir la emoción del hablante a partir de una expresión oral (un área de investigación muy nueva).
De acuerdo con http://cmusphinx.sourceforge.net/sphinx4/doc/Sphinx4-faq.html#speaker_identification , CMU Sphinx, que es probablemente el principal reconocedor de voz de código abierto, no admite la identificación del orador http://cmusphinx.sourceforge.net/sphinx4/doc/Sphinx4-faq.html#speaker_identification ); Dudo que tenga alguna de las otras capacidades descritas anteriormente.
Algunos investigadores académicos publican su código en línea y / o podrían estar dispuestos a compartirlo con usted. Una búsqueda en Google Scholar revela muchas personas que han escrito tesis de maestría o doctorado utilizando Sphinx, por lo que podría ser un buen lugar para comenzar.
Por último, podría intentar implementar un algoritmo de reconocimiento de género muy burdo sin entrar en el reconocedor de voz en sí mismo, si conoce un poco de procesamiento de señal. Básicamente, las voces masculinas y femeninas difieren en su frecuencia fundamental, según Wikipedia ( http://en.wikipedia.org/wiki/Voice_frequency ), las voces masculinas están entre 85-180Hz, mientras que las voces femeninas son 165Hz-255Hz. Podría usar algo como sox
para determinar el espectro de frecuencias (usando algo que se llama la transformada rápida de Fourier) de una expresión y clasificar el habla como "masculino" o "femenino" según un resumen estadístico como la frecuencia promedio (consulte http://classicalconvert.com/tag/sox/ ). Para que esto funcione de manera sólida (es decir, con muchos altavoces, micrófonos o entornos de grabación), hay muchas cosas que puede hacer. No estoy seguro de poder predecir cuánto tiempo y esfuerzo se requeriría para obtener el 70% de precisión, ya que dependería de la naturaleza de su tarea; Mi sensación es que el 90% + definitivamente sería muy difícil.
¡Buena suerte!