Síntesis de Voz Prof. Eduardo López Gonzalo e-mail: eduardo@gaps.ssr.upm.es Dpto. Señales, Sistemas y Radiocomunicaciones Síntesis de Voz ¾ Tipos de Síntesis de Voz y Aplicaciones ¾ Principios básicos de Sistemas de Conversión de Texto a Voz (TTS systems) ¾ Sintetizadores de Voz ¾ Sistemas y Dificultades 1 Síntesis de Voz ¾Tipos de Síntesis de Voz y Aplicaciones (A) Voz Pre-Grabada (codificación) (B) Conversión de Texto a Voz Text-to-Speech TTS (C) Conversión de Concepto a Voz Concept-to-Speech CTS Acceso a Inform. Telefónica Asistentes de Lectura Comunicadores y Ayudas para Discapacitados Locutores virtuales (visual – TTS) Otros: Enseñanza (I. Cervantes), .. http://oesi.cervantes.es/jsp/noticias/notic ia.jsp?xml=/docs/20030424/0001.xml&x sl=/docs/plantillas/noticia.xsl 1791 • El barón Wolfgang von Kempelen describió una máquina que reproducía fielmente la anatomía del aparato fonador humano 2 1835 • Sistema parlante diseñado por Sir Charles Wheatstone Sprachsynthese (TTS, Vocoder) Historie der Sprachsynthese 1939 Homer Dudley’s “Voder”: Primer Sintetizador “electrónico” compuesto de: • Un oscilador (controlado por un pedal) y una fuente de ruído blanco • Diez filtros paso banda, con salida conectada a potenciómetros • Algunos botones para generar consonantes como t, p, etc... http://www.acoustics.hut.fi/~slemmett/dippa/appa.html Proseminar Sprachdialogsysteme Philipp S. Bach 3 Síntesis de Voz ¾Principios básicos de Sistemas de Conversión de Texto a Voz (TTS systems) Proceso Lingüístico-Prosódico Texto Análisis del Texto Análisis Fonético Análisis Prosódico Proceso de Señal Modelos de Síntesis de Voz SINTETIZADOR •Sonidos (pausas) •Prosodia: o F0 o Duración o Energía Voz Cotovía es un sistema de conversión texto-voz bilingüe para Gallego y Castellano desarrollado por el Grupo de Tratamiento de la Señal de la Universidad de Vigo (España) y un grupo de investigadores de la Universidad de Santiago de Compostela con el apoyo del Centro Ramón Piñeiro para a Investigación en Humanidades. Síntesis de Voz ¾Principios básicos de sistemas de conversión de texto a voz Proceso Lingüístico-Prosódico: Análisis del Texto Componentes: Texto de Entrada Detección de la Estructura del Texto Normalización del Texto Análisis Lingüístico 4 Síntesis de Voz ¾Principios básicos de sistemas de conversión de texto a voz Proceso Lingüístico-Prosódico: Análisis del Texto Detección de la Estructura: – Segmentación de párrafos. – Separación de frases. – Tipos de frases. – Detección de estructura de SMS, e-mail, página web, ... – Identificación del Idioma, ... Texto de Entrada Detección de la Estructura del Texto Normalización del Texto Análisis Lingüístico Síntesis de Voz ¾Principios básicos de sistemas de conversión de texto a voz Proceso Lingüístico-Prosódico: Análisis del Texto Normalización del Texto: Texto de Entrada Detección de la Estructura del Texto Normalización del Texto Análisis Lingüístico 5 – Abreviaturas (Vd. Sr. ), acrónimos (CEE, BMW) , etc. – Fechas, Horas, Cantidades, Números – Corrección automática de errores o expansión de formas de escritura (SMSs) – Identificación de palabras extranjeras, .. Síntesis de Voz ¾Principios básicos de sistemas de conversión de texto a voz Proceso Lingüístico-Prosódico: Análisis del Texto Análisis Lingüístico: – Análisis sintáctico y semántico (posible) – Desambiguación de palabras. – Estructura de la frase. – Identificación de tipo de frase. Texto de Entrada Detección de la Estructura del Texto Normalización del Texto Análisis Lingüístico Síntesis de Voz ¾Principios básicos de sistemas de conversión de texto a voz Proceso Lingüístico-Prosódico: Análisis Fonético Salida del Componente de Análisis de Texto Análisis Morfológico Conversión Letra-a-sonido (Grafema-a-alófono) 6 Componentes: Síntesis de Voz ¾Principios básicos de sistemas de conversión de texto a voz Proceso Lingüístico-Prosódico: Análisis Fonético Análisis Morfológico: – Palabras de función: pronombres, preposiciones, conjunciones (determinar sílabas, ej.: sublunar) – Palabras de contenido – Prefijos y sufijos, conjugaciones, plurales, aumentativos, etc – Descubrir homógrafas que cambian sentido Ej.: para (preposición) y para (verbo) Salida del Componente de Análisis de Texto Análisis Morfológico Conversión Letra-a-sonido (Grafema-a-alófono) Síntesis de Voz ¾Principios básicos de sistemas de conversión de texto a voz Proceso Lingüístico-Prosódico: Análisis Fonético Conversión Grafema-Alófono: Salida del Componente de Análisis de Texto Análisis Morfológico Conversión Letra-a-sonido (Grafema-a-alófono) 7 – Soluciones basadas en diccionario • Palabras divididas en morfemas (para disminuir diccionario) • Si la palabra no está: usa reglas – Soluciones basadas en reglas: Reglas de conversión letrasfonemas + Tabla + algoritmos de excepciones Síntesis de Voz ¾Principios básicos de sistemas de conversión de texto a voz Proceso Lingüístico-Prosódico: Análisis Prosódico Componentes: Salida del Componente de Análisis Fonético Módulo Pausador Modelado de: • Entonación • Duración • Intensidad Sonidos y pausas + F0, duración y Energía Síntesis de Voz ¾Principios básicos de sistemas de conversión de texto a voz Proceso Lingüístico-Prosódico: Análisis Prosódico – Decisión de dónde insertar pausas –ortográficas y no ortográficas- : • Información gramatical: coeficientes de relación • Número de sílabas – Asignación de la duración adecuada a las pausas Salida del Componente de Análisis Fonético Módulo Pausador Modelado de: • Entonación • Duración • Intensidad Sonidos y pausas + F0, duración y Energía 8 Módulo Pausador: Síntesis de Voz ¾Principios básicos de sistemas de conversión de texto a voz Proceso Lingüístico-Prosódico: Análisis Prosódico Modelado Prosódico: – Modelos: • Patrones pre-establecidos • Basados en reglas • Estocásticos, a partir de datos. – Modelado de F0 y duración: ¿independiente o conjunto? – Intensidad, generalmente sólo normalización Salida del Componente de Análisis Fonético Módulo Pausador Modelado de: • Entonación • Duración • Intensidad Sonidos y pausas + F0, duración y Energía Síntesis de Voz MODELOS PROSÓDICOS Lineales o de Secuencia de Tonos – generar la curva de F0 de izquierda a derecha como una secuencia de valores o movimientos Escuela Británica – basada en análisis auditivo Pierrehumbert 1980 – análisis acústico (ToBI) Dutch school - ‘t Hart, Collier and Cohen 1990 – información perceptual Tilt - Taylor 1998 – base fonética Modelos Jerárquicos o de superposición: - generar el contorno de F0 modelando factores de forma aislada (fonema, sílaba, palabra, frase, sentencia) y luego combinar los modelos parciales. Fujisaki 1983, Grønnum 1992, Möbius et al. 1993, Tomás Navarro Tomás, Manual de Pronunciación Española (1945) New York: Hispanic Institute. Guadarrama 1974. http://liceu.uab.es/publicacions/Linguistica_CTH_FDS02.pdf 9 Síntesis de Voz ¾Sintetizadores de Voz ÖParamétricos Sintetizadores por Formantes: Síntesis por Regla (Denis Klatt, 1980) Modelos Articulatorios Ö No Paramétricos: Concatenación de unidades Base de datos de unidades “pequeña” + modificación prosódica (PSOLA – CNET, Moulines & Charpentier 1990) Síntesis por Corpus: Selección de Unidades sobre una gran base de datos de voz (Alan W. Black, 1996) Síntesis de Voz ¾Sintetizadores de Voz: Paramétricos Sintetizadores por Formantes: Síntesis por Regla (Denis Klatt, 1980): Síntesis por regla: a partir de la secuencia de fonemas genera los parámetros de control del sintetizador. Síntesis por formantes: produce la voz sintética a partir de los parámetros de control. “letterto-sound” rules Exceptions dictionary Synthesisby-rule Speaker table Synthesiser control parameters Synthesiser Prosody parameters Rules Linguistic analysis 10 text Phone Text-to-phone string conversion Síntesis de Voz ¾Sintetizadores de Voz: Paramétricos Sintetizadores por Formantes: Síntesis por Regla (Denis Klatt, 1980): Parámetros de Control Unvoiced Excitation Excitation Mixers Formant Amplitude Control Formant Resonators A F1 A F2 Speech Out + Voiced Excitation A F3 A F4 Voicing Control Síntesis de Voz ¾Sintetizadores de Voz: Paramétricos Sintetizadores por Formantes: Síntesis por Regla (Denis Klatt, 1980): Parámetros de Control El sintetizador de formantes de mayor éxito comercial fue el DECTalk, basado en MIT Klatttalk 11 Síntesis de Voz ¾Sintetizadores de Voz: No Paramétricos Base de datos de unidades “pequeña” + modificación prosódica (PSOLA – CNET, Moulines & Charpentier 1990) ¾ Dificultad y elevado tiempo de desarrollo de los sistemas de síntesis por regla. ¾ Síntesis por concatenación de unidades: • Selección de unidades: tipo “dífonos” para representar la coarticulación entre dos sonidos. • Algoritmo de modificación prosódica (PSOLA: Pitch Synchronous Overlap-Add) Síntesis de Voz ¾Sintetizadores de Voz: concatenación de unidades Fonemas y Prosodia Generación de la base de datos Corpus de voz Segmentación de unidades Análisis BD Unidades Parametriz. BD Unidades de Voz Informac. unidades Lista de Unidades Ecualización Codificación de voz Sintetizador de Voz Concatenación Decodificación De voz Síntesis Voz 12 BD Unidades de síntesis Modificación Prosódica Síntesis de Voz ¾Sintetizadores de Voz: concatenación de unidades: Dífonos # x 10 2 L L A A T T A A ... # 4 1.5 1 0.5 0 -0.5 -1 -1.5 -2 0 200 400 600 800 1000 1200 1400 1600 1800 2000 x 10 2 4 1.5 Modificación de paramètros prosódicos 1 0.5 0 -0.5 -1 -1.5 -2 0 500 1000 1500 PSOLA: Pitch Synchronous Overlap and Add • PSOLA (Charpentier-Moulines, 1986) • Es el método más utilizado en síntesis por concatenación de unidades • Existen 3 versiones TD-PSOLA, LP-PSOLA y FD-PSOLA 2000 2500 13 PSOLA De: John Holmes and Wendy Holmes, “Speech synthesis and recognition”, Taylor & Francis 2001 Modification de la Voz usando PSOLA • Además de la síntesis de voz a partir de segmentos hay dos aplicaciones del PSOLA que se usan en TTS: – Modificación del Pitch – Modificación de la Duración 14 Aumentando el pitch con PSOLA De: John Holmes and Wendy Holmes, “Speech synthesis and recognition”, Taylor & Francis 2001 Disminuyendo el pitch PSOLA De: John Holmes and Wendy Holmes, “Speech synthesis and recognition”, Taylor & Francis 2001 15 Modificando el Pitch = X Hanned pitch period Dífono Original Extracted Hanning pitch period window ‘C_A’ Modificando el Pitch PSOLA – Pitch Synchronous Overlap and Add = 50% Overlap + Add Pitch Up Pitch Down > 50% < 50% 16 PSOLA strengths and weaknesses • Strengths – Produces good quality speech • Weaknesses – Large, annotated corpus needed for each ‘voice’ – Requires accurate pitch peak detection – Inflexible – new voices can only be produced by recording and labelling significant speech corpora from new speakers • Automatic annotation of corpora using techniques from speech recognition Síntesis de Voz ¾Sintetizadores de Voz: No Paramétricos Base de datos de unidades “pequeña” + modificación prosódica (PSOLA – CNET, Moulines & Charpentier 1990) Hay otros modelos de síntesis: Modelos Armónicos Voz como combinación lineal de L sinusoides con amplitudes, fases y frecuencias variantes con el tiempo 17 Síntesis de Voz ¾Sintetizadores de Voz: Paramétricos Modelos Articulatorios: Síntesis de Voz ¾Sintetizadores de Voz: No Paramétricos Síntesis por Corpus: Selección de Unidades sobre una gran base de datos de voz (Alan W. Black, 1996) Objetivo: Sintetizar una frase = seleccionar la secuencia de unidades {ui} que represente mejor la secuencia de sonidos + prosodia {ti} (ti: target = sonido + prosodia): S (silencio) t1 t2 t3 t4 ... ... Gran BD de Unidades de Voz ui ...... tn S(silencio) u1 u2 u3 u4 ... ... ...... un 10 – 150 min. 18 Síntesis de Voz ¾Sintetizadores de Voz: No Paramétricos Síntesis por Corpus: Selección de Unidades sobre una gran base de datos de voz (Alan W. Black, 1996) Se define: Coste de ajuste al objetivo: C t (ti , u i ) Coste de concatenación:: C c (u i −1 , u i ) C t (ti , u i ) = P ∑w c t j j =1 t j ( ti , u i ) j: diferencia de f0, duración, contexto, ... wjt: peso de cada factor Síntesis de Voz ¾Sintetizadores de Voz: No Paramétricos Síntesis por Corpus: Selección de Unidades sobre una gran base de datos de voz (Alan W. Black, 1996) Se define: Coste de concatenación:: C C (u i −1 , u i ) = c c (u i −1 , u i ) 0 si la secuencia existe en la BD Q ∑ w c (u j =1 c j c j i −1 , ui ) j: distancias en el punto de unión: cepstral, log-energía, f0, ... wjc: peso de cada factor 19 Síntesis de Voz Objetivo: Sintetizar una frase = seleccionar la secuencia de unidades {ui} que represente mejor la secuencia de sonidos + prosodia {ti} (ti: target = sonido + prosodia): S (silencio) t1 t2 t3 t4 ... ... Gran BD de Unidades de Voz ui ...... tn S(silencio) u1 u2 u3 u4 ... ... 10 – 150 min. ...... un ( {ui} óptima => mínimo C t1n , u1n ) C (t1n , u1n ) = C c (S , u1 ) + ∑ C t (ti , ui ) +∑ C c (ui −1, ui ) + C c (un , S ) n n i =1 i =2 Síntesis de Voz ¾Sintetizadores de Voz: No Paramétricos Síntesis por Corpus: Selección de Unidades sobre una gran base de datos de voz (Alan W. Black, 1996) Problemas: ¾ Qué factores y entrenamiento de los pesos: wjc, wjt ¾Algoritmo de búsqueda de unidades 20 Síntesis de Voz ¾Sistemas y Dificultades ÖDificultades Naturalidad: prosodia, sistemas mixtos por corpus + dífonos Expresividad: sistemas de diálogo, comunicadores personales: síntesis de emociones Personalización/Generación rápida de nuevas voces Síntesis Audio-Visual Síntesis de Voz ¾Sistemas y Dificultades ÖSistemas Comerciales (castellano): Telefónica Investigación y Desarrollo http://oesi.cervantes.es/jsp/noticias/noticia.jsp?xml=/docs/20030424/0 001.xml&xsl=/docs/plantillas/noticia.xsl Tecnología / Diálogo / etc... ATLAS: http://www.atlas-cti.com/es/download-atlastts.htm ScanSoft (RealSpeak: http://www.scansoft.com/realspeak/demo/) Loquendo (http://www.loquendo.com/es/demos/demo_tts.htm) ELAN Informatique (http://www.elanspeech.com/demos/sayso.html) Nuance (RealSpeak & Vocalicer: http://www.nuance.com/prodserv/demo_vocalizer.html) 21 Síntesis de Voz ¾Sistemas y Dificultades ÖSistemas Investigación y Distribución Libre: Festival http://www.cstr.ed.ac.uk/projects/festival/ MBROLA http://tcts.fpms.ac.be/synthesis/mbrola/mbrola.html FreeTTS (Festival => Java) http://freetts.sourceforge.net/docs/index.php ÖUniversidades españolas: http://www.gts.tsc.uvigo.es/cotovia/cotovia.es.html , corpus http://www-gth.die.upm.es/research/synthesis/synth-formconcat.html Otros Contextos: MPEG-4 & MPEG-7 Microsoft Speech API Síntesis de Voz ¾Sistemas y Dificultades ÖOtros Contextos: Síntesis Audio-Visual Audio (voz pre-grabada) Identificación de Sonidos (Reconocedor de Habla) sonidos --> visemas visemas Audio Conversor Texto-Voz • Animación 2D o 3D • Composición de Vídeo 22 Texto Animación Síntesis de Voz ¾Sistemas y Dificultades ÖOtros Contextos: Síntesis Audio-Visual Haptek http://www.haptek.com FaceWorks http://interface.digital.com/ Lipsync (aplicaciones http://www.annosoft.com/index.htm) Composición de vídeo: Vir2elle: http://www.vir2elle.com/ Oddcast: http://vhost.oddcast.com/vhost_minisite/ Web bots: Alicebot (aplicaciones http://www.alicebot.org/) 23