La entrada/salida de una aplicación asterisk
Junio 9, 2008 AsteriskA la hora de pensar en una aplicación telefónica real en Asterisk, lo primero que como programador se me viene a la cabeza, es la forma en que se va a comunicar con el usuario. Esto es, la forma en que va a introducir los datos y va a obtener la información deseada.
En una aplicación informática estándar, tenemos a disposición del usuario la pantalla del ordenador para mostrar información y un teclado y ratón con el que introducir los datos, sin embargo tenemos que tener en cuenta, que por muy potente que sea el programa que hemos desarrollado en asterisk, el usuario solo va a disponer de un pequeño auricular y un teclado numérico de 10 teclas (y en el peor de los casos, con los antiguos teléfonos analógicos, ni siquiera eso).
Actualmente, con el uso de los teléfonos móviles (y algunos fijos) tenemos la posibilidad de interactuar mediante mensajes SMS, lo cual ofrece una vía adicional de comunicación entre nuestra aplicación y el usuario, pero en este artículo nos centraremos mas en la comunicación basada en la telefonía tradicional.
La salida
El canal de salida estándar en nuestro caso el auricular del teléfono, mediante el cual podremos reproducir sonidos, grabaciones o incluso generar voces sintéticas mediante TTS (text to speech).

Una opción económica a la hora de elegir un motor TTS es Festival Speech Synthesis System (Festival para los amigos) una alternativa libre para generar voz sintética. Actualmente se encuentra en su versión 2.0 beta y soporta muchos idiomas y cuando digo muchos me refiero a bastantes. En cuanto a la calidad de la voz, no os voy a engañar, suena a máquina, os parecerá estar hablando con el ordenador de Juegos de Guerra (Que también tiene su encanto, oye!) pero las alternativas son aplicaciones comerciales de pago no asequibles a cualquier bolsillo. Entre las mas conocidas, Verbio y el famoso Loquendo.
La entrada
En cuanto al canal de entrada, la introducción de datos, la fórmula mas sencilla es la utilización del propio teclado del teléfono para introducir dígitos, esto nos limita a usar solo números y los caracteres especiales # y *. Por lo que nos vemos siempre obligados a utilizar códigos de usuario numéricos, contraseñas numéricas y menús organizados por números.
También existen actualmente sistemas de reconocimiento de voz aunque la mayoría aun no están muy depurados. Probablemente ya lo habréis sufrido alguna vez llamando al servicio técnico de alguna compañía (“Por favor, diga claramente el motivo de su llamada…”). El principal problema de estos sistemas es que no son fiables, requieren que el usuario hable claramente, vocalizando y sin ningún ruido de fondo, algo complicado si tenemos en cuenta la gran riqueza dialéctica de nuestro país.

Mas adelante ya veremos como montar una aplicación básica en Asterisk usando Festival y el teclado numérico como entrada de datos. Así como la instalación y configuración del servicio Festival.
Junio 9th, 2008 at 3:00 pm
Jajajaja, muy bueno lo de la “gran riqueza dialéctica de nuestro país” con la foto a juego.
Por suerte, hay reconocedores de voz bastante fiables y que distinguen muchos dialectos y acentos de gran parte del país, la pena es que son comerciales, pero por soluciones profesionales las hay bastante buenas.