• No se han encontrado resultados

Tradicionalmente los sistemas de interacci´on hombre-robot se basan en una concepci´on maestro-esclavo, en el que el papel del operador humano es el de supervisar y dar ´ordenes al robot y el del robot es cumplir dichas ´ordenes y even- tualmente suministrat al operador la informaci´on que este necesite. El robot act´ua esencialmente co- mo una herramienta manejada por el operador. En estos sistemas, la interacci´on con el humano act´ua como un factor que limita y reduce la autonom´ıa del robot.

El paradigma R2H pretende desarrollar robots so- ciales con un alto grado de autonom´ıa, cuyo com- portamiento est´e condicionado por sus propios im- pulsos y motivaciones, que responder´an en ´ultima instancia a un intento por parte del robot de maxi- mizar o mantener en niveles de equilibrio variables internas ligadas a sus necesidades. En la arquitec- tura de control del robot, la interacci´on con los humanos se plantear´a exactamente con los mismos principios que la interacci´on con otros elementos del mundo.

El car´acter social de los robots se reflejar´a en el hecho de que la interacci´on con humanos no se considerar´a s´olo como un complemento a otras funcionalidades del robot, sino como una de sus caracter´ısticas b´asicas. Esto se concretar´a en el desarrollo de un conjunto amplio de habilidades sociales y en que entre las motivaciones del robot se incluir´an tambi´en motivaciones sociales. El trabajo que se exopne en el presente art´ıculo corresponde a la implementaci´on de una de estas habilidades sociales que es la habilidad de habla incorporando en la se˜nal de voz una entonaci´on controlada y dedicada a la expresi´on emocional. Esta aproximaci´on a la interacci´on entre humanos

y robots puede ser de gran inter´es para algunos nuevos tipos de robots, como pueden ser robots que cooperen de igual a igual con humanos, o robots dedicados a fines l´udicos, did´acticos e in- cluso terap´euticos.

Figura 2: Arquitectura de control AD (Au- tom´atica-Deliberativa)

3.

ARQUITECTURA DE

CONTROL AUTOM ´ATICA-

DELIBERATIVA

La arquitectura de control del robot personal Maggie desarrollada en [2], [3] y [5] est´a inspirada en los trabajos en psicolog´ıa cognitiva de Shiffrin y Schneider [17] en los que se modela el razon- amiento y comportamiento humano en dos niveles de inteligencia y actuaci´on: uno autom´atico y otro deliberativo. En la Figura 1. puede observarse el diagrama de la Arquitectura A-D, donde adem´as se incorpora un Sistema de Control basado en Emociones desarrollado en [11]

En el nivel autom´atico corren en paralelo varias habilidades autom´aticas que se caracterizan por su comunicaci´on directa con los sensores y actuadores del robot, y por su rapidez respecto a las habilidades deliberativas. En el nivel de- liberativo corre una sola habilidad deliberativa que se encarga de la planificaci´on de la secuencia de actuaciones o de ejecuci´on de habilidades autom´aticas del nivel inferior. El sistema de control basado en emociones establece el objetivo interno del robot.

La comunicaci´on entre habilidades autom´aticas se realiza tanto por eventos discretos como a trav´es de la Memoria a Corto Plazo. Una descripci´on de- tallada de la arquitectura y de su implementaci´on en Maggie puede encontrarse en [15] y [10]

4.

DESCRIPCI ´ON DE LA

HABILIDAD TTSskill

El sistema implementado que se presenta en este art´ıculo tiene la forma de habilidad au- tom´atica y se integra en la arquitectura de con- trol del robot desarrollada: Arquitectura Au- tom´atica-Deliberativa con Sistema de Control por Emociones (Figura 1). B´asicamente la habilidad TTSskill toma como dato de entrada de la Memo- ria a Corto Plazo una expresi´on textual y teniendo en cuenta el estado emocional del robot construye una estructura pros´odica o de entonaci´on que se a˜nade al texto para luego ser sintetizado como voz a trav´es de los altavoces del robot. La realizaci´on de esta s´ıntesis de voz emocional a partir de tex- to se realiza en los siguientes pasos: discretizaci´on del texto en fonemas, construcci´on de curvas de entonaci´on y s´ıntesis en se˜nal de audio. La elec- ci´on de estos pasos est´a inspirada por el trabajo realizado anteriormente en el Sony Computer Sci- ence Laboratory (CSL) [13]

Para el paso de s´ıntesis en se˜nal de audio, se ha utilizado una herramienta de distribuci´on gratu´ıta denominada MBROLA [18] Esta her- ramienta marca el formato en el que deben con- struirse los datos a lo largo del algoritmo de gen- eraci´on de una se˜nal de audio a partir de texto. 4.1. Constructor fon´etico

Este m´odulo toma como dato de entrada una expresi´on en forma de texto o frase, y devuelve una cadena de caracteres que simbolizan la representaci´on fon´etica de la frase de entrada. Dicha representaci´on fon´etica corresponde con la formulaci´on que propone MBROLA para la representaci´on textual de fonemas hablados que puede verse en la Tabla 1.

4.1.1. Fichero fon´etico

MBROLA es el sintetizador TTS utilizado. En la construcci´on pros´odica de una frase se ha de ten- er en cuenta su funcionamiento, es decir, el for- mato de los datos que esta herramienta utiliza. MBROLA recibe como entrada un fichero en for- mato texto estructurado por columnas que denom- inamos fichero fon´etico. En la primera columna se sit´ua la serie de fonemas de la frase a sintetizar, en la segunda columna se sit´ua la duracion de ca- da fonema en ms El resto de columnas son pares de valores. El primer valor marca un porcentaje de duraci´on del fonema y el segundo la frecuen- cia en herzios a la que debe ponerse la s´ıntesis del fonema en el porcentaje de tiempo que marca el par´ametro anterior. As´ı por ejemplo:

Cuadro 1: Representaci´on fon´etica utilizada Fonema Ejemplo Representaci´on

p padre paDre b vino bino t tomo tomo d donde donde k casa kasa g gata gata tS mucho mutSo jj hielo jjelo f facil faTil T cinco Tinko s sala sala x mujer muxer m mismo mismo n nunca nunca J ajo aJo l lejos leJos L caballo kabaLo r puro puro rr torre torre i pico piko e pero pero a valle baLe o toro toro u duro duro a 430 10 380 80 450

indica que el fonema a dura 430 ms; al 10 % de 430 msdebe alcanzar 380 Hz y debe alcanzar 450 Hz al 80 %

Puede haber tantos pares de valores porcentaje- tono como se quiera. Estos pares de valores config- uran la envolvente de tono para cada fonema, por lo que cuantos m´as valores haya, m´as natural y hu- manizada resultar´a la s´ıntesis en voz. No obstante y dado que la duraci´on de cada fonema habitual- mente es inferior al segundo, con un par de es- tos valores se obtienen resultados suficientemente satisfactorios. Cada fila de este fichero tiene, por tanto el siguiente formato:

fonema duracion porcentaje tono Adem´as de este fichero, MBROLA acepta una se- rie de opciones como son el volumen y el tono principal de la frase.

4.2. Constructor pros´odico

Este m´odulo toma como dato de entrada una de los cinco estados emocionales en los que puede es- tar el robot: alegr´ıa, tristeza, calma, ira y confort (o neutro), construye las curvas de entonaci´on o curvas pros´odicas y adapta dichas curvas a la

longitud de la frase que va a ser sintetizada como voz emocional. Para caracterizar la prosodia de cada frase y teniendo en cuenta el formato del fichero fon´etico que acepta MBROLA, podemos enumerar las siguientes variables f´ısicas: por un lado y en relaci´on al conjunto entero de fonemas de la frase: el tono principal, envolvente de tono y volumen principal; y por otro lado y asociado a cada fonema de la frase: una envolvente de tono dentro de cada fonema y una duraci´on de fonema. El problema es dar valores a estas variables para que la prosodia de la frase sintetizada exprese una emoci´on concreta y no otra. Para alcanzar este objetivo se define un conjunto de par´ametros intuitivos que sirven como marco entre la emoci´on que se quiere expresar y las variables f´ısicas enumeradas arriba. En la tabla x. se muestran los valores escogidos para este conjunto de par´ametros pros´odicos en funci´on de la emoci´on que se quiere expresar mediante voz. Estos par´ametros se describen a continuaci´on:

VOLUMEN(sin unidades) establece volumen sonoro de la totalidad de la frase sintetizada. Es el factor por el que se multiplica el volu- men que por defecto utiliza MBROLA en la construcci´on del fichero de audio correspoin- diente a la frase de voz sintetizada.

MEANDUR(ms) es la duraci´on principal de cada fonema.

DURVAR (ms) marca el rango de variaci´on de la duraci´on de cada fonema.

MEANPITCH(Hz) es la frecuencia principal de cada fonema.

PITCHVAR (Hz) marca el rango de variaci´on de la frecuencia principal de cada fonema. LAST-ACCENT (0 — 1) par´ametro booleano que marca si el ´ultimo fonema de la frase se va o no a acentuar.

CONTOUR (RISING — FALLING) par´ametro booleano que marca el contorno por defecto del tono de cada fonema.

LAST-CONTOUR (RISING — FALLING) par´ametro booleano que marca el contorno del ´ultimo fonema.

4.2.1. Algoritmo del constructor pros´odico

El fichero fon´etico, entrada para MBROLA, es constru´ıdo en formato texto a partir de la lista de fonemas que devuelve el constructor fon´etico y de la lista de par´ametros que devuelve el constructor

pros´odico. As´ı, el fichero es completado con la lista de fonemas de la frase concreta que se va a sintetizar y con los valores num´ericos correspon- dientes y explicados anteriormente para marcar la prosodia de la frase: duraci´on, porcentaje y tono. A continuaci´on se describe el algoritmo que construye la duraci´on y tono de cada fonema. Este algoritmo va recorriendo todos y cada uno de los fonemas.

duracion( fonema ) = MEANDUR + rand( DURVAR ) if( fonema es consonante )

tono( fonema ) -= PITCHVAR if( fonema es vocal )

tono( fonema ) += PITCHVAR if( fonema == accentuado):

duracion( fonema ) += DURVAR if( CONTOUR == RISING)

if( fonema es consonante ) tono( fonema ) += PITCHVAR if( fonema es consonante )

tono( fonema ) -= PITCHVAR if( CONTOUR == FALLING)

if( fonema es consonante ) tono( fonema ) -= PITCHVAR if( fonema es consonante )

tono( fonema ) += PITCHVAR

if( LAST-ACCENT ) para ´ultima palabra e = PITCHVAR / 2

duracion( fonema ) += DURVAR if( LAST-CONTOUR == FALLING)

pitch( fonema ) -= ( fonema +1 ) * e if( LAST-CONTOUR == FALLING)

pitch( fonema ) -= ( fonema +1 ) * e e = 2 * e

porcentaje(fonema) = 80 + rand( 20 ) Cabe destacar el uso de la funci´on de aleatoriedad con el prop´osito de introducir en la s´ıntesis cierto car´acter natural caracter´ıstico del habla, es el caso, por ejemplo del valor del par´ametro porcentaje

4.3. Sintetizador TTS

MBROLA es un proyecto iniciado en el Labo- ratorio de Teor´ıa de Circuitos y Tratamiento de la Se˜nal (TCTS Lab) de la Facultad Polit´ecnica de Mons (B´elgica) cuyo prop´osito principal es el de implementar sintetizadores TTS para todas las lenguas posibles. Es una herramienta gratu´ıta pero cuyo c´odigo no est´a abierto, sin embargo, su adaptaci´on a una aplicai´on externa es sencilla. MBROLA consta de un ejecutable y una base de datos en formato binario asociada a una lengua y a un agente o personaje que marca tanto el idioma (y por tanto el conjunto de fonemas posibles)

Cuadro 2: Par´ametros pros´odicos para cada emoci´on

Par´ametro alegr´ıa tristeza calma ira confort

VOLUMEN (s.u.) 0.8 1 1 2 2 MEANDUR (ms) 170 300 200 150 300 DURVAR (ms) 50 100 100 20 300 MEANPITCH (Hz) 600 250 370 100 350 PITCHVAR (Hz) 100 30 10 50 50 LAST-ACCENT (0 | 1) 1 0 0 0 1

CONTOUR RISING FALLING RISING FALLING RISING

LAST-CONTOUR RISING FALLING RISING FALLING RISING

como el tono o soniquete del habla. Hay personjes femeninos y masculinos. El ejecutable que trae MBROLA recibe como opciones el volumen y el tono general de la expresi´on hablada y como entrada el fichero asociado a la base de datos del idioma y el que hemos venido a denominar fichero fon´etico con la lista de fonemas a sintetizar y par´ametros ac´usticos antes presentados. Este ejecutable devuelve un fichero de audio. Los formatos permitidos son .wav o .au

El servidor TTSserver que corre dentro de la habilidad TTSskill se encarga de ir leyendo de la memoria compartida una frase nueva que haya de ser sintetizada; toma la emoci´on con la que debe expresarse y construye el fichero fon´etico; ´este se compila con el ejecutable de MBROLA y la base de datos asociada al idioma de lo cual se obtiene un fichero de audio que se lleva al dispositivo de audio para que se oiga.

5.

RESULTADOS

EXPERIMENTALES

La conexi´on de la habilidad implementada TTSskill con el resto de habilidades y dem´as en- tidades de la arquitectura (ver Figura 1) es to- talmente satisfactoria. Esto se debe a que la es- tructura software para la implementaci´on de una habilidad autom´atica en la arquitectura AD se ha estandarizado en previos trabajos. El fun- cionamiento en tiempo real es tambi´en satisfacto- rio: TTSskill es capaz de realizar la trasformaci´on de la frase textual a una lista de fonemas, el c´alcu- lo de los par´ametros pros´odicos y la s´ıntesis de la onda de audio generada con suficiente rapidez co- mo para no apreciarse un retardo digno de mayor estudio.

La habilidad autom´atica TTSskill se encarga de la s´ıntesis de texto a voz con entoncai´on emo- cional, por tanto, el resultado final de esta imple- mentaci´on es un resultado audible. En este aparta- do, se va a presentar una breve comparaci´on de las caracter´ısticas sonoras de distintas frases al haber sido procesadas de modo distinto para expresar

Figura 3: Comparaci´on del tono de cada fonema a lo largo de las frases: ”Soy Magui y estoy muy triste”(abajo) y ”Soy Magui y estoy muy con- tenta”(arriba)

emociones distintas.

En la Figura 4 puede observarse la representaci´on gr´afica de la variaci´on del tono a lo largo de cada fonema de la frase en funci´on del tiempo para dos emociones antag´onicas: alegr´ıa y tris- teza. Para el caso en el que se quiere expre- sar alegr´ıa el texto de la frase a sintetizar fue ”Soy Maggie y estoy muy contenta”En el caso de la expresi´on de tristeza fue ”Soy Maggie y estoy muy triste”. Por tanto, teniendo en cuen- ta la tabla 1, la lista fon´etica del primer caso quedar´ıa s o i m a g i i e s t o i m u i k o n t e n t a (24 fonemas) s o i m a g i i e s t o i m u i t r i s t e(22 fonemas) En el caso de la expresi´on de alegr´ıa puede observarse que el tono principal es mayor que en la expre- si´on de tristeza. Adem´as la variaci´on del tono en- tre fonemas es m´as r´apida, dado que la duraci´on de cada fonema es menor.

6.

CONCLUSIONES Y