DESARROLLO DE UN SEGMENTADOR FONÉTICO AUTOMÁTICO PARA HABLA EXPRESIVA BASADO EN MODELOS OCULTOS DE MARKOV Proyecto Fin de Carrera Autor: Juan Carmona Mariscal Tutor: Juan Manuel Montero Martínez
Índice Objetivos Anteriores trabajos relacionados Herramientas empleadas Estructura del sistema Las bases de datos Resultados de los experimentos Conclusiones Líneas futuras de investigación Desarrollo de un segmentador fonético automático para habla expresiva basado en modelos ocultos de Markov - Juan Carmona Mariscal
Objetivos (I) Segmentación automática a partir de ficheros de audio (.wav o .pcm) y su transcripción fonética (.lab) Empleado para segmentar archivos de habla expresiva en castellano Conjunto de experimentos más amplio y exhaustivo sobre una BD ya empleada, SES Experimentos sobre BDs nuevas: SEV y UPC Open Source Desarrollo de un segmentador fonético automático para habla expresiva basado en modelos ocultos de Markov - Juan Carmona Mariscal
Objetivos (II) Restricciones de diseño Automatización y configurabilidad: Variables: algoritmo de parametrización número de estados de los modelos número de gaussianas por estado número de iteraciones a realizar (reestimaciones) coeficientes extra (deltas, aceleraciones, cero, de energía) inclusión o no de normalización cepstral Desarrollo de un segmentador fonético automático para habla expresiva basado en modelos ocultos de Markov - Juan Carmona Mariscal
Anteriores trabajos relacionados Segmentación fonética automática de Doroteo Torres (2003). Segmentación en dos etapas: Esquema básico de segmentación (comparable al nuestro) error del 20,73% para tolerancia de 20 ms Procedimiento adicional de corrección estadística de las marcas automáticas reduce el error al 4% Experimentos con SES de Montero, Barra Chicote y otros (Interspeech 2007): Errores entre el 8,70% y el 14,45% entrenando con toda la base de datos Desarrollo de un segmentador fonético automático para habla expresiva basado en modelos ocultos de Markov - Juan Carmona Mariscal
Herramientas empleadas HTK (Hidden Markov Model Toolkit) Lenguaje de scripts (archivos de procesos por lotes .bat) Lenguaje PERL Ej: perl -e "while ($_=<stdin>){$v=uc \"%1_%6\";s/TARGETKIND[\s\t]+=[\s\t]+[a-zA-z_0-9]+/TARGETKIND = $v/i;print;}" < %LIB_DIR%\tmp.tmp >%CONFIG_FILE_HCOPY% Desarrollo de un segmentador fonético automático para habla expresiva basado en modelos ocultos de Markov - Juan Carmona Mariscal
Estructura del sistema (I) Lanzamiento del sistema Definición de las variables del experimento Permite barrido de una batería de experimentos de manera desatendida Desarrollo de un segmentador fonético automático para habla expresiva basado en modelos ocultos de Markov - Juan Carmona Mariscal
Estructura del sistema (II) Define la estructura de las distintas etapas del proceso Llamada secuencial de cada uno de los scripts Desarrollo de un segmentador fonético automático para habla expresiva basado en modelos ocultos de Markov - Juan Carmona Mariscal
Estructura del sistema (III) Configuración del sistema y acondicionamiento de ficheros Definición de la BD Definición de conjuntos de entrenamiento y segmentación y evaluación de manera separada Permite definir dos conjuntos diferentes de evaluación Generación automática de ficheros de configuración Desarrollo de un segmentador fonético automático para habla expresiva basado en modelos ocultos de Markov - Juan Carmona Mariscal
Estructura del sistema (IV) Parametrización de los ficheros de entrada Desarrollo de un segmentador fonético automático para habla expresiva basado en modelos ocultos de Markov - Juan Carmona Mariscal
Estructura del sistema (V) Entrenamiento de los modelos Generación automática: Lista y diccionario de fonemas Gramática empleada Generación automática de los modelos semilla y actualización Genera automáticamente un script para tareas dependientes de las variables definidas Desarrollo de un segmentador fonético automático para habla expresiva basado en modelos ocultos de Markov - Juan Carmona Mariscal
Estructura del sistema (VI) Reconocimiento automático (a modo de comprobación del funcionamiento del sistema) Generación automática de la red de fonemas Genera automáticamente un script para tareas dependientes de las variables definidas Desarrollo de un segmentador fonético automático para habla expresiva basado en modelos ocultos de Markov - Juan Carmona Mariscal
Estructura del sistema (VII) Segmentación automática Genera automáticamente un script para tareas dependientes de las variables definidas Desarrollo de un segmentador fonético automático para habla expresiva basado en modelos ocultos de Markov - Juan Carmona Mariscal
Estructura del sistema (VIII) Evaluación de la segmentación realizada Genera automáticamente un script para tareas dependientes de las variables definidas Desarrollo de un segmentador fonético automático para habla expresiva basado en modelos ocultos de Markov - Juan Carmona Mariscal
La base de datos SES Grabaciones de actor varón simulando voz neutra y 4 emociones (alegría, enfado, sorpresa, tristeza) Contenido semántico y sintáctico neutro Corpus empleado: 15 frases cortas en 3 sesiones, segmentadas manualmente 4 párrafos completos en 3 sesiones los tres primeros párrafos divididos y etiquetados manualmente (1 sesión, a excepción del enfado) Desarrollo de un segmentador fonético automático para habla expresiva basado en modelos ocultos de Markov - Juan Carmona Mariscal
Resultados de los experimentos El entrenamiento con frases produce peores resultados que con párrafos (pocos datos) Resultados del cambio de versión Elección de la versión de HTK Idénticos resultados para las versiones 3.3 y 3.4 Desarrollo de un segmentador fonético automático para habla expresiva basado en modelos ocultos de Markov - Juan Carmona Mariscal
Resultados de la optimización del número de estados, iteraciones y gaussianas (I) SES Estados: 6(4) Iteraciones: 6 Gaussianas: 5 (MFCC) Estados: 6(4) Iteraciones: 6 Gaussianas: 2-5 (PLP) Error mínimo: 8,01% (MFCC) 7,60% (PLP) Desarrollo de un segmentador fonético automático para habla expresiva basado en modelos ocultos de Markov - Juan Carmona Mariscal
Resultados de la optimización del número de estados, iteraciones y gaussianas (II) SEV Estados: 6(4) Iteraciones: 5/6 Gaussianas: 5 (MFCC) Estados: 6(4) Iteraciones: 4 Gaussianas: 10 (PLP) Error mínimo: 18,06% (MFCC) 18,17% (PLP) Posibles factores de que depende la diferencia: Revisión del marcaje manual Características de la voz del locutor Posiblemente la voz femenina sea más difícil de segmentar automáticamente Desarrollo de un segmentador fonético automático para habla expresiva basado en modelos ocultos de Markov - Juan Carmona Mariscal
Resultados de la combinación de coeficientes _0_E _0 _E _D_A _D _0_E _D_A_T _D_A _0_D_A _E_D_A _D_A Mejor que Mejor que Mejor que Mejor que Peor que Según caso Según caso Desarrollo de un segmentador fonético automático para habla expresiva basado en modelos ocultos de Markov - Juan Carmona Mariscal
Resultados de la combinación de frases y párrafos (I) Combinaciones de frases y párrafos (SES) como grupos de entrenamiento y evaluación Desarrollo de un segmentador fonético automático para habla expresiva basado en modelos ocultos de Markov - Juan Carmona Mariscal
Resultados de la combinación de frases y párrafos (II) Combinaciones de frases y párrafos (SES) como grupos de entrenamiento y evaluación Desarrollo de un segmentador fonético automático para habla expresiva basado en modelos ocultos de Markov - Juan Carmona Mariscal
Resultados de la segmentación interemociones Para segmentar frases con emoción es mejor entrenar con frases con emoción que con voz neutra. Voz mejor segmentada: Neutra (5% en MFCC, SES) Voz peor segmentada: Tristeza (11,18% en MFCC, SES) Mejor voz para entrenar en solitario: SES: 1.Tristeza (9,15% en media, MFCC), 2.Alegría (9,98) SEV: Alegría (21,08% en media, MFCC), Neutra (21,74) Peor voz para entrenar en solitario: SES: Neutra (22,67% en media, MFCC) SEV: Tristeza (29,48% en media, MFCC), Miedo (26,56) Diferencias entre la mejor y la peor voz son significativas Desarrollo de un segmentador fonético automático para habla expresiva basado en modelos ocultos de Markov - Juan Carmona Mariscal
Resultados de la segmentación con normalización cepstral Mejora en valor absoluto en general, más con MFCC que con PLP Desarrollo de un segmentador fonético automático para habla expresiva basado en modelos ocultos de Markov - Juan Carmona Mariscal
Resultados de la variación del número de canales
Resultados de la variación del desplazamiento de tramas (I) Variación del desplazamiento de tramas y del tamaño de la ventana de análisis Valores usuales (10 y 25 ms) son óptimos Desarrollo de un segmentador fonético automático para habla expresiva basado en modelos ocultos de Markov - Juan Carmona Mariscal
Resultados de la variación del desplazamiento de tramas (II) Variación del desplazamiento de tramas y del tamaño de la ventana de análisis Disminuirlas mejora la desviación media (mejor resolución) pero aumenta el número de errores Desarrollo de un segmentador fonético automático para habla expresiva basado en modelos ocultos de Markov - Juan Carmona Mariscal
Resultados de la inclusión de filtrado En general los mejores resultados se dan sin filtrado (buenas condiciones de ruido en SES) Sólo mejora un poco con filtro paso bajo a 7800 Hz Canal telefónico (300-3400 Hz): empeora entre 2,65 y 4,8 puntos porcentuales absolutos Hay más información a menos de 300 Hz que de 3400 Hz para arriba Desarrollo de un segmentador fonético automático para habla expresiva basado en modelos ocultos de Markov - Juan Carmona Mariscal
Resultados de la segmentación de UPC Errores mínimos: 10,59% (MFCC) y 10,75% (PLP) Desarrollo de un segmentador fonético automático para habla expresiva basado en modelos ocultos de Markov - Juan Carmona Mariscal
BD para Albayzín 2012 Segmentación de la base de datos SEV, locutor masculino Realizada para proporcionar datos a los desarrolladores de síntesis de voz para la competición Albayzín 2012 Evaluación cualitativa e informal, considerando los resultados bastante aceptables Algunos errores concretos: Transición entre dos vocales en un diptongo Transición entre silencios y principios o finales de palabra Consonantes oclusivas Silencios no transcritos Desarrollo de un segmentador fonético automático para habla expresiva basado en modelos ocultos de Markov - Juan Carmona Mariscal
Conclusiones (I) Obtención de un segmentador automático que cumple los objetivos iniciales: Automatización y configurabilidad Trabajo con diferentes bases de datos Open Source Ha sido necesaria una cierta complejidad (HTK, scripts, perl, C…) Desarrollo de un segmentador fonético automático para habla expresiva basado en modelos ocultos de Markov - Juan Carmona Mariscal
Conclusiones (II) Mejores tasas de error: SES: en torno al 7-8% UPC: más del 10% SEV: en torno al 17-18% Posibles factores de que dependen: Corrección del marcaje manual Características de la voz del locutor Posiblemente la voz femenina sea más difícil de segmentar automáticamente Desarrollo de un segmentador fonético automático para habla expresiva basado en modelos ocultos de Markov - Juan Carmona Mariscal
Conclusiones (III) Sugerencia de parametrización para el uso del segmentador : algoritmo de parametrización: PLP número de estados de los modelos: 4 número de iteraciones a realizar (reestimaciones): 6 número de gaussianas por estado: 5 coeficientes extra: _E_D_A (de energía, derivados y aceleraciones) inclusión de normalización cepstral: sí número de canales: 20 desplazamiento de tramas: 10 ms tamaño de la ventana de análisis: 25 ms filtrado de altas frecuencias para reducir ruido (+7800 Hz) emoción: si se puede entrenar con todas las emociones, con todas; si se debe elegir una para entrenar, alegría (para segmentar frases con emoción es mejor entrenar con frases con emoción que con voz neutra) Desarrollo de un segmentador fonético automático para habla expresiva basado en modelos ocultos de Markov - Juan Carmona Mariscal
Líneas futuras de investigación Mejorar graf2fon efecto de coarticulación entre palabras Medida estándar de error: fronteras a más de 20 ms de las marcadas manualmente Puede penalizar a las emociones con ritmo lento. Experimentar teniendo esto en cuenta Segmentar UPC con emociones (locutor y locutora) Modelos independientes de locutor Realizar adaptación y comprobar el impacto en resultados de segmentación automática Desarrollo de un segmentador fonético automático para habla expresiva basado en modelos ocultos de Markov - Juan Carmona Mariscal
¿Preguntas? Desarrollo de un segmentador fonético automático para habla expresiva basado en modelos ocultos de Markov - Juan Carmona Mariscal