miércoles, 29 de agosto de 2007

Animación+voz implementada y un problema

Ya he hecho una primera implementación del avatar moviendo la boca mientras dice algunas frases.

Para esta primera aproximación solo se muestran en la animación unos pocos visemas, que son los de las vocales y la letra 'm', que coinciden más o menos con la posición de la boca de las mallas del avatar que tengo ahora mismo. Si funciona bien, se pueden añadir más.

La forma de hacerlo es con la función de callback que comentaba en la entrada anterior. Cada vez que se pronuncia un fonema se indica su código IPA y de esa forma puedo saber cual es. He programado que se registren estos códigos en el fichero de log de la aplicación, y después he hecho que pronuncie palabras solo con la letra 'a', luego con la 'e', etc. y así he obtenido los de las cinco vocales. Curiosamente para cada una hay dos códigos distintos, aunque no me he fijado bien si unas veces sale uno cuando va acompañado de consonante, o cuando empieza o termina una palabra, etc..

Conocido el fonema ya se la malla que hay que representar, y lo indico en una variable para que en el próximo refresco de pantalla se pinte.

El problema que me he encontrado es que la sincronización entre la animación de la boca y el sonido no es precisamente buena, baste decir que a veces coincide lo que suena con lo que se ve en la pantalla de la PDA.

No hay comentarios: