Cómo obtener texto del usuario con AppleScript

En anteriores artículos hemos visto diversas opciones para que el usuario pueda elegir qué debe suceder al utilizar uno de nuestros scripts. Pero a veces necesitamos que el usuario nos de información que no hemos podido predecir a la hora de crear nuestro script. Esta información debe ser introducida a través de un campo de texto el cual puede ser utilizado por el usuario para aportar cualquier información que necesite nuestro script y el usuario quiera ofrecer.

Hemos visto ya el comando de AppleScript display dialog. Este comando también nos permite configurarlo para que muestre un campo de texto al usuario. Su sintaxis sería la siguiente:


display dialog "Texto de la pregunta" default answer ""

Obteniendo la respuesta

Como viene siendo habitual para poder hacer algo con la información introducida o seleccionada por el usuario debemos almacenarla en una variable. Podemos hacerlo de la siguiente forma:


set dialogResult to display dialog "?Cual es tu nombre?" default answer ""
set theName to the text returned of (dialogResult)

Primero almacenamos el resultado de la pregunta en la variable dialogResult y luego obtenemos el texto de dialogResult almacenandolo en la variable theName.

Podemos hacer estas dos operaciones en un sólo paso aunque se dificulta la lectura del código de nuestro script. El ejemplo quedaría de la siguiente forma:


set theName to the text returned of (display dialog "?Cual es tu nombre?" default answer "")

Un pequeño ejemplo

Vamos a crear un pequeño script que nos pregunte nuestro nombre y nos muestre un saludo personalizado.


set dialogResult to display dialog "?Cual es tu nombre?" default answer ""
set theName to the text returned of (dialogResult)
set sayHelloText to "Hola " & theName
display alert sayHelloText

Convertidores de texto a voz

Las personas ciegas, desde hace unas décadas, han tomado el hábito de leer utilizando grabaciones de los textos de su interés. Para ello se han utilizado multitud de formatos mediante cintas magnetofónicas, las clásicas cassettes hasta llegar a la última tecnología de sonido digital utilizando CDs en formato Daisy.

El problema de leer un texto mediante una grabación de voz era que había que esperar a que un locutor, fuese de una organización de ciegos, una persona voluntaria o una colaboración con una institución, grabase el libro en audio y se editase para su correcta lectura. Esto provocaba que un ciego debiese esperar, al menos, 12 meses desde la aparición de un libro hasta la posibilidad, no asegurada, de leerlo en cinta.

En los últimos años la tecnología ha permitido la aparición de una alternativa más que fantástica, la utilización de la síntesis de voz digital, propia de equipos informáticos, para convertir textos digitales a grabaciones sonoras.

Al principio las voces eran demasiado metálicas y monótonas, por lo que este tipo de software era utilizado por personas que realmente lo necesitasen. En la actualidad la calidad de las voces ha mejorado tanto que es utilizado por multitud de personas y servicios de atención y comunicación sonora. Es un claro ejemplo de tecnología de uso exclusivo de personas con discapacidad que se ve empujada por el creciente interés de todos los públicos por su gran utilidad.

Las voces digitales dependen de un motor de síntesis de voz, capáz de comunicarse con la tarjeta de sonido del equipo informático para reproducir los diversos sonidos encadenados que formarán las frases habladas. Además, este motor de voz tendrá encuenta reglas lingüísticas y de entonación. Pero el motor de voz necesita de unos patrones sonoros o de pequeñas grabaciones de pronunciación que permitan definir el tono, el acento y la sonoridad final que tendrá la grabación, a este conjunto de datos se le conoce como una voz para un motor de síntesis.

En los sistemas operativos pertenecientes a la familia Microsoft Windows existen unas librerías para poder utilizar diversos motores de voz de forma sencilla para aumentar la compatibilidad entre software. Estas librerías son conocidas como SAPI (Speech Application Program Interface).

Puedes obtener el motor de síntesis de voz SAPI 5.1 de la página de descarga de SAPI 5.1 aunque en las versiones actuales de Microsoft Windows, más concretamente a partir de la versión de Windows XP, SAPI 5 ya viene incluida en el sistema.

En idioma castellano hay multitud de voces gratuítas para el formato SAPI 4. Para Microsoft Windows XP/2003/Vista (últimas versiones de este sistema operativo) se utiliza, de serie, el formato SAPI 5.1. Hay pocas voces gratuítas para este formato aunque podemos utilizar la voz de Isabel para SAPI 5.1. Hay compañías, como Loquendo o Nuance, que se dedican a crear voces de calidad para terminales de atención al cliente, puntos de venta automatizados o sistemas de megafonía para estaciones de transporte y aeropuertos.

En los equipos con MacOS X, el sistema operativo de Apple para sus equipos portátiles y de sobremesa, existe integrado en el sistema un motor de voz genérico que puede ser utilizado por diversos programas y servicios del sistema. Actualmente se incluyen varias voces con diversos acentos y efectos sonoros aunque el problema es que todas las voces están en inglés. Se pueden adquirir voces para otros idiomas.

En GNU-Linux tenemos varios motores o librerías de síntesis de voz como Festival, Mbrola o una versión para GNU-Linux de Eloquence. Todos estos motores de voz se utilizan en el sistema a través de un interfazque comunique las aplicaciones del sistema con el motor de voz, un ejemplo de este tipo de interfaz es Gnome-speech.

En un equipo informático con un motor de síntesis de voz instalado, con sus correspondientes voces, podemos utilizar algunos programas especializados en convertir textos digitales a ficheros de audio. Son los programas conocidos como conversores de texto a voz. Estos programas nos permiten convertir largos textos en formato Word, TXT, RTF o PDF en un conjunto de ficheros de sonido en formato MP3 que podemos escuchar con nuestro reproductor portatil de música mientras caminamos o utilizamos el transporte público.

Una opción sencilla y gratuíta es el programa DSpeech, que funciona tanto con SAPI 4.0 y SAPI 5.1 permitiendo convertir textos a formato WAV o MP3. Puedes obtener DSpeech en castellano y valenciano de la web de Tifloinforma. Su instalación es muy sencilla ya que sólo debes descomprimir el fichero comprimido en la carpeta donde quieras guardar DSpeech y ejecutar el archivo .EXE que hay en su interior.

Para MacOS X existe el programa Ghost reader. Este programa nos permite convertir cualquier documento de texto que pueda abrir la vista previa en un fichero mp3 o m4b utilizando las voces del sistema o unas voces compatibles con este programa e incluir el resultado de la conversión directamente en nuestra librería de iTunes para poder leer el documento en nuestro iPod, iPhone o dispositivo móvil de Apple.