Prosodia Introducción a las Tecnologías del Habla 2o cuatrimestre 2014 – Agustín Gravano Prosodia Mucha información más allá de las palabras. ¿Cómo varía el habla? “paró de llover” [. ? ! ] “no dije a la izquierda, dije a la derecha” “por un lado...”, “entonces…”, “..., pero...” “no cantes, Victoria” “Ayer se me rompió el auto.” vs. “Vengo del mecánico. Ayer se me rompió el auto.” Dimensiones de la Prosodia Intensidad. Fuerte/suave. Nivel Aguda/grave. Tasa tonal. del habla. Rápida/lenta. Calidad de la voz. Susurro, voz tensa, voz rasposa, etc. Dimensiones de la Prosodia Intensidad. Fuerte/suave. Nivel Aguda/grave. Tasa tonal. del habla. Rápida/lenta. Calidad de la voz. Susurro, voz tensa, voz rasposa, etc. Intensidad Ejemplo sencillo 1) Grabarse diciendo “a” suave, normal y fuerte (con tres intensidades distintas). 2) Analizar la amplitud de las ondas periódicas en cada caso. Intensidad Puede medirse en: Unidades de presión (Pa). Unidades de voltaje (V). Es más frecuente usar decibeles (dB). 10 log10 (x2 / r2) dB Nivel de referencia r = 20 micropascales = 2×10-5 Pa Umbral de audición humana: “silencio”. Percepción de la Intensidad Evento Silencio Susurro Oficina silenciosa Conversación Colectivo Subte Trueno *DAÑO* Presión (Pa) 2×10-5 200 2K 20K 200K 2M 20M 200M Intensidad (dB) 0 20 40 60 80 100 120 140 Cálculo de la Intensidad Sean xi (i = 1 … N) muestras de la amplitud de (parte de) una señal. Amplitud RMS (root mean square) = Intensidad = donde P0 es el nivel de referencia para el silencio. Dimensiones de la Prosodia Intensidad. Fuerte/suave. Nivel Aguda/grave. Tasa tonal. del habla. Rápida/lenta. Calidad de la voz. Susurro, voz tensa, voz rasposa, etc. Nivel Tonal (Pitch) Ejemplo sencillo 1) Grabarse diciendo una “a” larga, cada vez más aguda (con nivel tonal ascendente). 2) Buscar el ciclo más pequeño de la onda periódica compleja, en diferentes partes de la señal. 3) Medir su período y frecuencia (f=1/T). Percepción del Nivel Tonal (Pitch) Frecuencia fundamental (F0): Frecuencia más baja de una onda periódica. Tasa a la cual se repite el patrón complejo más chico. Estimación del Tono (Pitch Tracking) Método de auto-correlación Una onda periódica se correlaciona consigo misma, dado que cada ciclo se parece mucho al siguiente. Deslizar una copia de la onda hacia la derecha, hasta encontrar un punto de máxima correlación. El offset encontrado corresponde a la duración del período (T). La inversa (1/T) es la F0. Estimación del Tono (Pitch Tracking) Gráfico F0 × tiempo = Pitch track Relacionado a la percepción del nivel tonal. Pitch track Rango: mujeres 100-500Hz, hombres 75-300Hz. Estimación del Tono (Pitch Tracking) Funciona bien para fonos sonoros: vocales, [m], [b], [l], etc. (ondas periódicas compuestas). Funciona mal para fricativas, oclusivas sordas, etc.: [s], [f], [t], [k], [t∫] (sonidos aperiódicos). Dimensiones de la Prosodia Intensidad. Fuerte/suave. Nivel Aguda/grave. Tasa tonal. del habla. Rápida/lenta. Calidad de la voz. Susurro, voz tensa, voz rasposa, etc. Tasa del Habla Unidad Palabras/minuto. Sílabas/segundo. Fonos/segundo. ¿Qué segmental sobre unidad de tiempo. Ej: necesitamos para medir la tasa del habla? Depende del nivel de detalle que necesitemos. Si tenemos una transcripción alineada (manual o automática), podemos estimar síl/seg y fon/seg. Para sílabas/segundo, alcanza con detectar los núcleos de las sílabas. Ej: https://sites.google.com/site/speechrate/Home/praat-script-syllable-nuclei-v2 Dimensiones de la Prosodia Intensidad. Fuerte/suave. Nivel Aguda/grave. Tasa tonal. del habla. Rápida/lenta. Calidad de la voz. Susurro, voz tensa, voz rasposa, etc. Calidad de la voz Variables acústicas relacionadas: Jitter, shimmer: perturbaciones en la periodicidad de la señal (frecuencia y amplitud, respectivamente). Relación ruido-armónico (NHR y HNR): relación entre componentes periódicas (armónicos) y no periódicas (ruido). Correlatos perceptuales: Voz clara, limpia vs. rasposa, ronca, crujiente. Voz relajada vs. Tensa. Usada para detectar patologías del habla. Praat wine “wine is not an emulator” Permite correr programas de Windows en Linux. En una terminal, ejecutar: wine /home/ith50/Praat.exe Ignorar warnings en la terminal. Intensidad y nivel tonal en Praat Ejercicio 1: Abrir /home/ith50/clase04/lamparita.wav Hacer click en View & Edit. Menú Intensity 1) Activar Show intensity. En Intensity Settings poner 50-100dB 2) Seleccionar un segmento de habla. 3) Click en Intensity Listing y en Get intensity. Menú Pitch 1) Activar Show pitch. En Pitch Settings poner 75-500 Hz. 2) Seleccionar un segmento de habla. 3) Click en Pitch listing y en Get pitch. Para la primera y segunda /u/ (en “subí” y “un”), estimar a mano su F0 usando solamente la forma de onda. Comparar con los cómputos de Praat. Pitch track vs. Espectrograma Ejercicio 2: Abrir /home/ith50/clase04/a.wav Escuchar (es un sonido /a/ largo, subiendo y bajando el tono, primero de grave a agudo y luego al revés). Editarlo. Visualizar sólo el espectrograma. ¿Cuál es el eje de referencia del espectrograma? En Spectrogram settings poner rango = 0-5000 Hz. ¿Qué ocurre con el espectrograma cuando el tono sube/baja? Visualizar sólo el Pitch track. ¿Cuál es el eje de referencia del pitch track? En Pitch settings poner rango = 150-500 Hz. ¿Qué ocurre con el pitch track? Repetir con 50-150 Hz. Errores de pitch halving y doubling ¿Qué ocurre con el pitch track? Si el tono debería ser 150, pero marca 75: pitch halving. Si el tono debería ser 150, pero marca 300: pitch doubling. Errores en la estimación del tono (método de auto-correlación). Usar un rango tonal adecuado ayuda a prevenir estos errores. Ejemplo de pitch halving Scripting Desde la historia de la sesión: Praat → new Praatscript → Edit → Paste history Se puede ejecutar todo o parte del script. Escribir scripts puede ser complicado. Modificar scripts existentes. http://www.helsinki.fi/~lennes/praat-scripts/ http://uk.groups.yahoo.com/group/praat-users/ http://www.linguistics.ucla.edu/faciliti/facilities/acoustic/praat.html Praat scripts En una terminal, ejecutar los siguientes comandos: cd /home/ith50/clase04/ praat duration.praat lamparita.wav Devuelve la duración del archivo made1.wav, en segundos. less duration.praat Muestra el archivo duration.praat. Praat scripts: duration.praat # Praat script que toma como input un archivo de audio (.wav) # y devuelve su longitud en segundos. # Argumento: archivo de audio. form Input parameters for sound length word file .wav endform # Los objetos 'long sound' no se levantan a memoria. Open long sound file... 'file$' # Calcula la duracion. dur = Get duration # La imprime y termina. echo 'dur:4' Praat scripts: acoustics.praat En la terminal de Linux: pwd Directorio actual: /home/ith50/clase04/ praat acoustics.praat lamparita.wav 0.5 1.0 75 500 Computa un conjunto de mediciones acústicas para made1.wav entre 0.5 y 1.0 segundos, usando rango tonal 75-500Hz. SECONDS:0.500 F0_MAX:341.629 F0_MIN:247.602 F0_MEAN:311.274 F0_MEDIAN:317.807 F0_STDV:22.470 ENG_MAX:83.361 ENG_MIN:46.801 ENG_MEAN:69.706 ENG_STDV:11.355 VCD2TOT_FRAMES:0.532 duración máxima f0 mínima f0 media f0 mediana f0 desviación estándar f0 máxima intensidad mínima intensidad media intensidad desviación estándar intensidad proporción frames sonoros Intensidad y nivel tonal en Praat Ejercicio 3: Abrir el archivo aeiou-apellido.wav en Praat y tomar nota del comienzo y final de la /a/ y de la /u/. ¡Sean precisos! (Si no lo trajeron :-( usen /home/ith50/clase03/aeiou.wav) Correr acoustics.praat sobre la /a/ y la /u/: praat /home/ith50/clase04/acoustics.praat aeiou-apellido.wav comienzo fin minpch maxpch donde (minpch,maxpch) = (50,300) para hombres, o (75,500) para mujeres. Guardar los resultados en un archivo de texto, para usar más adelante. Intensidad y nivel tonal en Praat Ejercicio 4: Crear una onda periódica compleja formada por dos ondas simples de 400 y 500 Hz. New > Sound > Create sound from formula... Formula: sin(2*pi*400*x) + sin(2*pi*500*x) Visualizar y computar F0 a mano. Repetir con 400 y 600 Hz, y también con 400 y 700 Hz. ¿Qué relación numérica hay entre la F0 y las frecuencias que forman la onda compleja? ¿Por qué? Ejercicios para casa: ¿Dónde producimos el tono? Grabarse diciendo las notas musicales do, re, mi, fa, sol, la, si, do en el tono correspondiente (aprox), pero susurrando. Editar el archivo y analizar el pitch track. Estimar los núcleos de las sílabas en lamparita.wav usando el script syllables.praat, bajado de: https://sites.google.com/site/speechrate/Home/praat-script-syllable-nuclei-v2 (Aprender cómo usarlo es parte del ejercicio.) Estimar la tasa del habla usando ese resultado. ¿Qué es la prosodia? “Uso de características suprasegmentales para comunicar significados pragmáticos al nivel de la oración.” (Ladd, 1996) Características suprasegmentales: Abarcan varios fonos. F0, intensidad, duración, calidad de la voz. Significados pragmáticos al nivel de la oración: Estructura o función discursiva. Prominencia de una palabra o una frase. Significado afectivo o emocional. Variación prosódica Hasta ahora vimos cómo medir las variaciones en la prosodia. ¿Cómo podemos representar esas variaciones? Analogía con espectro → fonos. Cómo representar diferencias en: Intensidad Velocidad Prominencia Frases prosódicas Contorno entonacional Calidad del habla Variación prosódica Intento temprano: Joshua Steele 1775 JoshuaSteel.pdf Steel introdujo preguntas importantes: ¿Qué aspectos del habla queremos capturar? O sea, ¿cuáles son relevantes? ¿Atributos continuos o categóricos? Si son categóricos, ¿cuáles son las clases? Variación prosódica La variación prosódica abarca: Niveles de prominencia → acentos tonales. Estructura de frases prosódicas. Eventos prosódicos marcados por: Prolongaciones segmentales. Cambios en F0, intensidad y calidad de la voz. Límites de frases → muchas veces seguidos de pausas, pero no siempre. ¿Para qué modelar la prosodia? Sistemas de síntesis del habla (TTS): Expresar sin ambigüedad el mensaje deseado. Lograr mayor naturalidad. Digresión: ¿Los robots deberían sonar humanos? Sistemas de reconocimiento del habla (ASR): Comprender el mensaje expresado por el hablante. Tareas más específicas: Ej: María no renunció[,] por el sueldo. Segmentar en temas. Encontrar los puntos más relevantes. Sistemas de diálogo hablado (SDS): Anticipar cuándo el usuario está por ceder la palabra. Modelos de variación tonal Dos tipos de modelos de variación tonal: Modelo Lineal, o de Secuencia de Tonos Secuencia de eventos discretos de un léxico entonacional. Modelo Superposicional: Jerarquía de componentes fonológicas. Modelo de Secuencia de Tonos Objetivos tonales Acentos tonales. Tonos de final de frase. Sistema ToBI (Tones and Breaks Indices) Ejemplos: made1.{wav,TextGrid} oregano.{wav,TextGrid} Modelo de Secuencia de Tonos Unidad básica de descripción: Cada sílaba puede tener acento léxico y/o acento tonal. Todas las palabras tienen acento léxico. Sólo las palabras salientes en la frase tienen acento tonal. Ejemplo: “siempre” lleva acento léxico en la primera sílaba; el acento tonal es opcional. “voy siempre” vs. “voy siempre y cuando no llueva” Los acentos tonales se marcan mediante uno o más de estos: {pico de f0, pico de intensidad, prolongación de la sílaba}. Frase entonacional. Delimitada por pausas y/o por una prolongación en el final de la frase (acento de final de frase). Sistema ToBI Estándar desarrollado por varios investigadores en cuatro reuniones entre 1991 y 1994. Objetivos: Armar un sistema de anotación para la prosodia del inglés NA que fuese robusto y confiable. Promover la disponibilidad de cuerpos de datos anotados prosódicamente siguiendo un estándar, que pudieran ser compartidos por la comunidad. Sistema ToBI Existen versiones de ToBI para el japonés, alemán, italiano, español, y otras variantes del inglés. Una transcripción de ToBI requiere: Grabación de habla. Contorno de f0 (pitch track). 4 capas (tiers) de ToBI: capa ortográfica: palabras capa de junturas entre palabras (break-index tier) capa tonal: acentos tonales, tonos de final de frase capa miscelánea: disfluencias, toses, risas, etc. ToBI: Acentos tonales ¿Qué palabras son producidas en forma prominente? ¿y cómo? Tipos de acentos tonales: H* L* L*+H L+H* H+!H* simple high (declarativa: “brown” en brown.wav) simple low (pregunta sí/no: “mariana” en money1.wav) late rise (incerteza/incredulidad: “stein” en stein1.wav) early rise to stress (contraste: “mariana” en noone.wav) fall onto stress (supuesta familiaridad: “theresa” en theresa2.wav) ToBI: Junturas entre palabras Nivel de juntura entre palabras: 0: sin límite entre dos palabras. Ej: la Argentina. 1: límite normal entre dos palabras. 2: fuerte separación pero sin marca tonal. 3: límite de frase intermedia. 4: límite de frase entonacional. ToBI: Tonos de final de frase Frases entonacionales: L-L% L-H% H-L% H-H% falling (declarativa: “one” en brown.wav) low rising (continuation rise: “man” en stein1.wav) plateau (“school”, “people” en school.wav) high rising (pregunta sí/no: “alley” en manitowoc.wav) Frases intermedias: L-, H-. Sistema ToBI Material de entrenamiento online: http://anita.simmons.edu/~tobi/index.html Evaluación Buena concordancia entre anotadores: (Silverman et al. '92; Pitrelli et al '94) 88% acuerdo en presencia/ausencia de tono 81% acuerdo en categoría tonal 91% acuerdo en indices de juntura Anotación automática de ToBI AuToBI (Andrew Rosenberg) http://eniac.cs.qc.cuny.edu/andrew/autobi/ Desarrollo reciente y en curso. Algo impreciso todavía, pero consistente. Aporta información prosódica muy útil para otras tareas de procesamiento automático del habla. Modelo superposicional de Fujisaki Usado principalmente para síntesis del habla. Modela el patrón de F0 con una superposición lineal de dos componentes: de frase y de acentos. La frase tiene una forma básica (ej: descendente). Cada acento tiene su propia forma parametrizable. + = Lleva papa, cebolla y huevo. Modelo superposicional de Fujisaki Parámetros a determinar para cada frase: Frecuencia base (piso de F0 del hablante). Cantidad de comandos de frase y de acentos. Duración y amplitud de cada comando de frase y de acento. En un corpus, entrenamos reglas para derivar estos parámetros a partir de un texto. Luego, dado un texto a sintetizar, se derivan esos parámetros para estimar el contorno de F0 a usar. Desventajas: No modela los diferentes tipos de acentos, ni las variaciones en finales de frase. Muy específico para síntesis; no adecuado para estudiar la variación prosódica en general. Resumen Prosodia: Características suprasegmentales del habla para comunicar significados pragmáticos. Eventos prosódicos: Prominencia (acentos tonales) y estructura de frases. Marcados con cambios en: duración, f0, intensidad, calidad de voz. Modelo de secuencia de tonos: ToBI Modelo superposicional de Fujisaki