MetaCard y Revolution: Herramientas de autor multiplataforma para multimedia | ||
---|---|---|
Anterior | Capítulo 8. Sonido y audio | Siguiente |
En las últimas versiones e Revolution estas funcionalidades ya vienen incorporadas, pero mientras se generaliza su disponibilidad a todas las plataformas y por si acaso no nos sirven vamos a aventurarnos por el campo de la síntesis y reconocimiento con Festival.
Es posible utilizar herramientas como Festival, si su sistema operativo es competente ... Esta herramienta es un sistema de síntesis de voz de propósito general y ha sido desarrollada por Alan W Black, Richard Caley y Paul Taylor, del Centre for Speech Technology Research (University of Edinburgh) y que puede encontrar en su sitio Web.
Supuesto que está disponible esta funcionalidad en el sistema, nos queda poco más que esperar un texto que leer y pasárselo a la aplicación encargada de ello. Utilizaremos las ideas expuestas en el apartado la sección de nombre Procesos en Capítulo 6 sobre cómo ejecutar una aplicación externa y diseñaremos un sencillo interfaz como el que se muestra en la Figura 8-13, que para el caso bastará.
De este modo el usuario tiene una pequeña ayuda (o recordatorio de para qué sirve y cómo se utiliza) realizada con un campo de texto (cuyas propiedasdes han sido establecidas para que sirva como etiqueta - label-) que el usuario no puede modificar y que le llevará a fijar su atención en el campo inferior:
laMaquinaDiu.
En este, escribe un texto y al utilizar la tecla Intro, para distinguirla del Return que le permita crear saltos de línea, se da paso al proceso de lectura del mismo por la máquina de síntesis de voz escogida en nuestro diseño. Para simplificar este código sólo la última frase (línea) se "lee" y se enmascaran ciertos signos ortográficos que Festival procura leer.
He dejado la pronunciación inglesa que es la de por defecto, así me sirve para practicar un poco de este idioma, pero existen más posibilidades.
on enterInField set cursor to watch put the last line of the text of field "laMaquinaDiu" into frase replace "'" with "\'" in frase replace quote with "\" & quote in frase put shell ("echo " & frase & " | festival --tts" ) into varAux put frase & return & "[" & the long internet date & "]" && varAux end enterInField
A partir de este ejemplo, el usuario puede dar rienda suelta a su imaginación construyendo una aplicación más compleja que, por ejemplo, lea todas las líneas, permita escoger el idioma para leerlas, marque las pausas correspondientes entre una frase y la siguiente o entre párrafos, etc.
Nota: El siguiente paso óbvio es ser capaz de leer un texto, para ello habrá que separar las frases y lanzar para cada una de ellas el proceso visto ... No voy a ir más allá del sencillo código anterior, puesto que aplicaciones como el KMouth presentes en KDE permiten ver los próximos pasos que este entorno está dando en esta dirección.
De hecho, las novedades sobre la próxima versión de este entorno gráfico avanzan la estabilización de un interfaz para voz que incluye aplicaciones como KSayIt que se encargarán de leer textos "grandes o complejos".
Yo me voy a esperar a verlo en funcionamiento, que esta gente son más rápidos y mejores que yo.