290 likes | 487 Views
Desarrollo de una voz sintética con emociones para un robot-guía. AUTOR : Alfredo Álvarez Fernández TUTOR : Juan Manuel Montero Martínez. Índice. Introducción Objetivos Emociones Sistemas de Síntesis Módulo de Preprocesado Módulo de Síntesis de Klatt Integración de Módulos
E N D
Desarrollo de una voz sintética con emociones para un robot-guía AUTOR: Alfredo Álvarez Fernández TUTOR: Juan Manuel Montero Martínez
Índice • Introducción • Objetivos • Emociones • Sistemas de Síntesis • Módulo de Preprocesado • Módulo de Síntesis de Klatt • Integración de Módulos • Secuencias de Control • Incorporación de Emociones • Variación de la fuente • Otras modificaciones • Sintaxis y Ejemplos • Conclusiones • Líneas futuras
Introducción Introducción Objetivos Emociones Sistemasde Síntesis Módulo de Preprocesado Módulo de Síntesis deKlatt Integraciónde Módulos Secuenciasde Control Incorporaciónde Emociones Variaciones en la fuente Otras Modificaciones Sintaxis y Ejemplos Conclusiones Líneas Futuras URBANO: “Integración de Robots autónomos en la sociedad” • Acercar sociedad y tecnología • Estética humanoide • Incorporación de características humanas • Voz con emociones • Implementación de Robot piloto
Objetivos Introducción Objetivos Emociones Sistemasde Síntesis Módulo de Preprocesado Módulo de Síntesis deKlatt Integraciónde Módulos Secuenciasde Control Incorporaciónde Emociones Variaciones en la fuente Otras Modificaciones Sintaxis y Ejemplos Conclusiones Líneas Futuras • Incorporar emociones en la voz • Alegría • Tristeza • Dotar a la voz de ‘roboticidad’ • Interactuar con el sintetizador a través del propio texto a sintetizar • Síntesis remota • Modelo Cliente - Servidor
Emociones Introducción Objetivos Emociones Sistemasde Síntesis Módulo de Preprocesado Módulo de Síntesis deKlatt Integraciónde Módulos Secuenciasde Control Incorporaciónde Emociones Variaciones en la fuente Otras Modificaciones Sintaxis y Ejemplos Conclusiones Líneas Futuras • Definición (D. Casacuberta 2000) • Estado mental • Función valorativa • Reacciones fisiológicas prototípicas en la voz • Pitch • Duración • Calidad de la voz • Tipos (K. Scherer 2000) • Primarias • Alegría, tristeza, enfado • Secundarias • Miedo, sorpresa
Secuencia de fonemas Parámetros de síntesis Voz Sintética Sistemas de Síntesis Introducción Objetivos Emociones Sistemasde Síntesis Módulo de Preprocesado Módulo de Síntesis deKlatt Integraciónde Módulos Secuenciasde Control Incorporaciónde Emociones Variaciones en la fuente Otras Modificaciones Sintaxis y Ejemplos Conclusiones Líneas Futuras • Paramétricos • Sintetizadores por formantes • Modelos articulatorios • No paramétricos: Concatenación de unidades • Base de datos de unidades “pequeñas” + modificación prosódica ( PSOLA – Pitch Synchronous Overlap Add ) • Síntesis por Corpus: Selección de unidades sobre una gran base de datos de voz ELECCIÓN: Formantes Fácil manipulación
Módulo de Preprocesado Introducción Objetivos Emociones Sistemasde Síntesis Módulo de Preprocesado Módulo de Síntesis deKlatt Integraciónde Módulos Secuenciasde Control Incorporaciónde Emociones Variaciones en la fuente Otras Modificaciones Sintaxis y Ejemplos Conclusiones Líneas Futuras • Texto origen en archivo • División en frases • Preprocesado Tres lecturas de la frase 1) División en bloques de palabra y parseo de secuencias de control Modificación de valores medios 2) División en bloques de fonemas y asignación de duraciones y f0 3) Generación de parámetros a partir de bloques de fonema • Duración y f0 • Reglas fonéticas • Valores medios Fonemas Duración y tono Valores Medios Reglas fonéticas Lista de parámetros cada 10 ms.
Frecuencia de muestreo Frecuencia máxima : 10 kHz : 5 kHz Módulo de Síntesis de Klatt Introducción Objetivos Emociones Sistemasde Síntesis Módulo de Preprocesado Módulo de Síntesis deKlatt Integraciónde Módulos Secuenciasde Control Incorporaciónde Emociones Variaciones en la fuente Otras Modificaciones Sintaxis y Ejemplos Conclusiones Líneas Futuras • Fuente => Función periódica • Tracto Vocal: Envolvente espectral : Formantes • Todo polos IIR • Resonadores cascada • Resonadores paralelo • Fuente y tracto controlados por parámetros cada 10 ms.
Integración de Módulos (I) Introducción Objetivos Emociones Sistemasde Síntesis Módulo de Preprocesado Módulo de Síntesis deKlatt Integraciónde Módulos Secuenciasde Control Incorporaciónde Emociones Variaciones en la fuente Otras Modificaciones Sintaxis y Ejemplos Conclusiones Líneas Futuras • Sistema CTV: Módulo preprocesado + Módulo síntesis Klatt • Software separado: Memoria Texto Generación Parámetros Klatt Parámetros Klatt Ficheros audio Síntesis Klatt Disco
Integración de Módulos (II) Introducción Objetivos Emociones Sistemasde Síntesis Módulo de Preprocesado Módulo de Síntesis deKlatt Integraciónde Módulos Secuenciasde Control Incorporaciónde Emociones Variaciones en la fuente Otras Modificaciones Sintaxis y Ejemplos Conclusiones Líneas Futuras Disco Memoria Disco • Integración delos dosmódulos • Separaciónpor frases • Parámetrospasados por memoria • Introducción etapade salida • Tratamiento de señal • Salida en formato “wav” Texto Generación parámetros Klatt Fichero Audio Parámetros Klatt frase n Síntesis Klatt Etapa de Salida
Secuencias de Control (I): Definición y sintaxis Introducción Objetivos Emociones Sistemasde Síntesis Módulo de Preprocesado Módulo de Síntesis deKlatt Integraciónde Módulos Secuenciasde Control Incorporaciónde Emociones Variaciones en la fuente Otras Modificaciones Sintaxis y Ejemplos Conclusiones Líneas Futuras • Combinación especial de caracteres para controlar el sintetizador desde el texto • Sintaxis: [ <letra>:<número>] entre dos palabras • Originalmente: Ámbito de frase • Variación de tono medio • Variación de velocidad de elocución • Variación de amplitud => Poco flexible • Mejora de la flexibilidad: Ámbito de palabra
Secuencias de Control (II): Flexibilización de secuencias existentes Introducción Objetivos Emociones Sistemasde Síntesis Módulo de Preprocesado Módulo de Síntesis deKlatt Integraciónde Módulos Secuenciasde Control Incorporaciónde Emociones Variaciones en la fuente Otras Modificaciones Sintaxis y Ejemplos Conclusiones Líneas Futuras • Problema: • Varias etiquetas en una frase • Prevalece la última => Ámbito de frase • Solución: • Introducir valores medios en bloques de fonemas • Para dejar de aplicar etiqueta: • Introducción de otra etiqueta • Etiqueta de cierre: [<letra>:0] • Guardar en memoria los valores mediosintroducidos (anidamiento)
Secuencias de Control (III): Modificación de varios parámetrosmediante una etiqueta Introducción Objetivos Emociones Sistemasde Síntesis Módulo de Preprocesado Módulo de Síntesis deKlatt Integraciónde Módulos Secuenciasde Control Incorporaciónde Emociones Variaciones en la fuente Otras Modificaciones Sintaxis y Ejemplos Conclusiones Líneas Futuras • Valor de etiqueta • Valor de variable en el programa • Puntero a sección en fichero “pros.ini” Texto a procesar [d:3] Hola, me llamo URBANO [d:3] Hola, me llamo URBANO “pros.ini” Valor: Ganancia: Memoria: [Retardo 1] Valor: 50 Ganancia: 0,5 Memoria: 10 [Retardo 2] Valor: 500 Ganancia: 0,5 Memoria: 5 Programa
Secuencias de Control (III): Modificación de varios parámetrosmediante una etiqueta Introducción Objetivos Emociones Sistemasde Síntesis Módulo de Preprocesado Módulo de Síntesis deKlatt Integraciónde Módulos Secuenciasde Control Incorporaciónde Emociones Variaciones en la fuente Otras Modificaciones Sintaxis y Ejemplos Conclusiones Líneas Futuras • Valor de etiqueta • Valor de variable en el programa • Puntero a sección en fichero “pros.ini” Texto a procesar [d:3] Hola, me llamo URBANO [d:3] Hola, me llamo URBANO 1 “pros.ini” Valor: Ganancia: Memoria: [Retardo 1] Valor: 50 Ganancia: 0,5 Memoria: 10 [Retardo 2] Valor: 500 Ganancia: 0,5 Memoria: 5 Programa
Secuencias de Control (III): Modificación de varios parámetrosmediante una etiqueta Introducción Objetivos Emociones Sistemasde Síntesis Módulo de Preprocesado Módulo de Síntesis deKlatt Integraciónde Módulos Secuenciasde Control Incorporaciónde Emociones Variaciones en la fuente Otras Modificaciones Sintaxis y Ejemplos Conclusiones Líneas Futuras • Valor de etiqueta • Valor de variable en el programa • Puntero a sección en fichero “pros.ini” Texto a procesar [d:3] Hola, me llamo URBANO [d:3] Hola, me llamo URBANO 1 “pros.ini” Valor: Ganancia: Memoria: [Retardo 1] Valor: 50 Ganancia: 0,5 Memoria: 10 [Retardo 2] Valor: 500 Ganancia: 0,5 Memoria: 5 2 Programa
Secuencias de Control (III): Modificación de varios parámetrosmediante una etiqueta Introducción Objetivos Emociones Sistemasde Síntesis Módulo de Preprocesado Módulo de Síntesis deKlatt Integraciónde Módulos Secuenciasde Control Incorporaciónde Emociones Variaciones en la fuente Otras Modificaciones Sintaxis y Ejemplos Conclusiones Líneas Futuras • Valor de etiqueta • Valor de variable en el programa • Puntero a sección en fichero “pros.ini” Texto a procesar [d:3] Hola, me llamo URBANO [d:3] Hola, me llamo URBANO 1 “pros.ini” Valor: 500 Ganancia: 0,5 Memoria: 5 [Retardo 1] Valor: 50 Ganancia: 0,5 Memoria: 10 [Retardo 2] Valor: 500 Ganancia: 0,5 Memoria: 5 2 Programa 3
Incorporación de emociones Introducción Objetivos Emociones Sistemasde Síntesis Módulo de Preprocesado Módulo de Síntesis deKlatt Integraciónde Módulos Secuenciasde Control Incorporaciónde Emociones Variaciones en la fuente Otras Modificaciones Sintaxis y Ejemplos Conclusiones Líneas Futuras • Asignación de duración y frecuencia fundamental a los bloques de fonema • Modelo duración • Valores iniciales • Coeficientes multiplicativos • Modelo entonación • Valor de tono de determinados fonemas • Interpolación para resto de fonemas • Originalmente: • Valores iniciales y coeficientes fijos en código • Utilización de valores diferentes para cada emoción • Valores basados en modelado de frases y párrafos pronunciados por un locutor • “alegría.ini”, “alegriap.ini”, “tristeza.ini”, “tristezap.ini”: selección del fichero “.ini” a leer en función de la etiqueta recibida
Variaciones en la Fuente (I) Introducción Objetivos Emociones Sistemasde Síntesis Módulo de Preprocesado Módulo de Síntesis deKlatt Integraciónde Módulos Secuenciasde Control Incorporaciónde Emociones Variaciones en la fuente Otras Modificaciones Sintaxis y Ejemplos Conclusiones Líneas Futuras • Fuente glotal humana • Periódica • Partes de un periodo glotal • fase de apertura glotal • fase de cierre glotal • fase cerrada • Aproximación por parábola invertida • Inversa del periodo glotal frecuencia fundamental
Variaciones en la Fuente (II) Introducción Objetivos Emociones Sistemasde Síntesis Módulo de Preprocesado Módulo de Síntesis deKlatt Integraciónde Módulos Secuenciasde Control Incorporaciónde Emociones Variaciones en la fuente Otras Modificaciones Sintaxis y Ejemplos Conclusiones Líneas Futuras • Señal de fuente excita filtro variable con el tiempo • Inteligibilidad: • Variación del tracto vocal, no fuente • Señal que excita el tracto: • Fuente glotal humana Voz humana • Señal robótica Voz robótica • Señal musical Voz musical • Controlables mediante etiquetas • No humana Carga valores de ficheros al inicio del programa • Reproducción cíclica
Otras Modificaciones (I) Incorporación de Efectos de Audio Introducción Objetivos Emociones Sistemasde Síntesis Módulo de Preprocesado Módulo de Síntesis deKlatt Integraciónde Módulos Secuenciasde Control Incorporaciónde Emociones Variaciones en la fuente Otras Modificaciones Sintaxis y Ejemplos Conclusiones Líneas Futuras • Incorporación de eco • Incorporación de trémolo • Controlables mediante etiquetas: • Diferentes retardos en el eco • Diferentes amplitudes y frecuencias en trémolo Entrada Salida
Otras Modificaciones (II) Concurrencia Síntesis-Reproducción Introducción Objetivos Emociones Sistemasde Síntesis Módulo de Preprocesado Módulo de Síntesis deKlatt Integraciónde Módulos Secuenciasde Control Incorporaciónde Emociones Variaciones en la fuente Otras Modificaciones Sintaxis y Ejemplos Conclusiones Líneas Futuras • Etapa de salida introducida • Problema • Solución • Reproducción concurrente con síntesis • Interfaz MCI: Señales de control de la reproducción • “Pipeline” de dos elementos Síntesis frase 1 Reprod. frase 1 Síntesis frase 2 Reprod. frase 2 t Síntesis frase 1 Síntesis frase 2 Síntesis frase 3 Síntesis frase 4 Reprod. frase 1 Reprod. frase 2 Reprod. frase 3 t
Otras Modificaciones (III) Servidor de Síntesis Introducción Objetivos Emociones Sistemasde Síntesis Módulo de Preprocesado Módulo de Síntesis deKlatt Integraciónde Módulos Secuenciasde Control Incorporaciónde Emociones Variaciones en la fuente Otras Modificaciones Sintaxis y Ejemplos Conclusiones Líneas Futuras • Síntesis remota • Previamente: • Extracción de texto a sintetizar de un archivo de texto • Sintetizador Servidor • Escucha peticiones de síntesis • Puerto TCP: 6004 • Implementación de cliente
Otras Modificaciones (IV)Escalado de formantes Introducción Objetivos Emociones Sistemasde Síntesis Módulo de Preprocesado Módulo de Síntesis deKlatt Integraciónde Módulos Secuenciasde Control Incorporaciónde Emociones Variaciones en la fuente Otras Modificaciones Sintaxis y Ejemplos Conclusiones Líneas Futuras • Simulación de diferentes tamaños de cabeza • Escalado uniforme de formantes • Subir frecuencia de los formantes cabeza más pequeña • Controlable mediante etiquetas
Sintaxis y Ejemplos (I) Introducción Objetivos Emociones Sistemasde Síntesis Módulo de Preprocesado Módulo de Síntesis deKlatt Integraciónde Módulos Secuenciasde Control Incorporaciónde Emociones Variaciones en la fuente Otras Modificaciones Sintaxis y Ejemplos Conclusiones Líneas Futuras • Voz por defecto • Hola, me llamo Urbano y esta es la voz que traigo por defecto. • Modificación dinámica del tono medio • [p:70] Puedo modificar el tono medio [p:125] de mi voz cuantas [p:0] veces quiera dentro de la misma frase [p:0] • Modificación dinámica de la velocidad de elocución • Como en el [u:80] caso del tono medio, [u:160] también puedo modificar la velocidad de elocución [u:0] de forma dinámica [u:0] • Modificación combinada de tono medio, velocidad de elocución e intensidad • También puedo cambiar [f:1]los valores medios [f:0] [f:2]de volumen, tono y velocidad de elocución [f:3] en medio de la frase [f:0] con combinaciones [f:0] pregrabadas
Sintaxis y Ejemplos (II) Introducción Objetivos Emociones Sistemasde Síntesis Módulo de Preprocesado Módulo de Síntesis deKlatt Integraciónde Módulos Secuenciasde Control Incorporaciónde Emociones Variaciones en la fuente Otras Modificaciones Sintaxis y Ejemplos Conclusiones Líneas Futuras • Introducción de ecos • [d:1] Introduciendo ecos en el habla puedo hacer que parezca que me encuentro en una gran sala vacía. [d:0] Es posible también simular el efecto de cambio de sala. [d:2] Ahora parece que me encuentro en una sala aún más grande que la anterior, ya que el tamaño de la sala simulada depende del retardo del eco [d:5] • Introducción de trémolo • [m:2] También puedo modular el volumen de mi voz con una señal sinusoidal.[m:0] Tanto la frecuencia como el índice de modulación puedo escogerlo a placer • Escalado de los formantes • [r:2] Dispongo también de la capacidad de cambiar el tamaño de mi cavidad bucal para simular diferentes personas. [r:0] Este efecto se consigue mediante escalado de formantes • Pausado • Introduciendo pausas al hablar, puedo enfatizar [b:20] ciertas palabras para así captar la atención de los oyentes
Conclusiones Introducción Objetivos Emociones Sistemasde Síntesis Módulo de Preprocesado Módulo de Síntesis deKlatt Integraciónde Módulos Secuenciasde Control Incorporaciónde Emociones Variaciones en la fuente Otras Modificaciones Sintaxis y Ejemplos Conclusiones Líneas Futuras • Integración de dos subsistemas • Incorporación emociones • Introducción de diferentes fuentes • Incorporación de otros efectos de valor añadido • Manipulación sencilla mediante el uso de secuencias de control • Concurrencia entre procesado y síntesis • Transformación del sintetizador en un servidor de síntesis
Líneas Futuras Introducción Objetivos Emociones Sistemasde Síntesis Módulo de Preprocesado Módulo de Síntesis deKlatt Integraciónde Módulos Secuenciasde Control Incorporaciónde Emociones Variaciones en la fuente Otras Modificaciones Sintaxis y Ejemplos Conclusiones Líneas Futuras • Incorporación de otras emociones • Sorpresa • Enfado • Carga de valores iniciales al inicio del programa • Ámbito de palabra para todas las secuencias de control • Concurrencia síntesis-reproducción más potente • Mejorar interfaz servidor-cliente
Introducción Emociones Sistemasde Síntesis Módulo de Síntesis porRegla Módulo de Síntesis deKlatt Integraciónde Módulos Secuenciasde Control Incorporaciónde Emociones Introducción Objetivos Emociones Sistemasde Síntesis Módulo de Preprocesado Módulo de Síntesis deKlatt Integraciónde Módulos Secuenciasde Control Incorporaciónde Emociones Variaciones en la fuente Otras Modificaciones Sintaxis y Ejemplos Conclusiones Líneas Futuras Síntesis frase 1 Síntesis frase 2 Síntesis frase 3 Síntesis frase 4 Reprod. frase 1 Reprod. frase 2 Reprod. frase 3 t Síntesis frase 1 Reprod. frase 1 Síntesis frase 2 Reprod. frase 2 t