Вы находитесь на странице: 1из 3

Integracin de asterisk y festival

Festival es un motor TTS (Text To Speech). Es una excelente herramienta que funciona en Linux, Festival permite a diversas aplicaciones en linux traducir texto a voz, conceptualmente podemos decir que festival es un framework para desarrollar diversas aplicaciones de voz, entre sus ventajas es que se pueden configurar diversos plugins y uno de ellos es asignar un estilo de pronunciacin para convertir los textos a voz, esto quiere decir que la pronunciacin puede ser en ingles, espaol, alemn o el idioma que sea y el gnero que exista para esos idiomas, esto solo configurndolo en Festival. Festival junto con Asterisk se convierte en una herramienta muy poderosa ya que con estas 2 grandes aplicaciones de Software Libre se pueden desarrollar mltiples aplicaciones junto con los AGIs de Asteisk, de tal forma que podemos crear un AGI en el cul nuestros clientes puedan llamar a nuestras oficinas y asterisk conmute las llamadas de tal forma que por ejemplo en la extensin 301 tengamos una aplicacin en el cual se le pida a nuestros clientes su login y passwords y de tal forma consultar una base de datos y regresarles el status de su orden, pedidos u otra informacin pero con voz ya que festival se encargara de hacer la lectura obtenida de la base de datos y regresarla por el canal de voz al usuario mediante Asterisk. Para que Festival se integre en asterisk, antes de compilar la centralita tenemos que instalar dos paquetes: yum install festival festival-devel para averiguar que el modulo de festival est correctamente cargado en asterisk, desde la consola de la centralita: asterisk -r CLI> module unload app_festival == Unregistered application 'Festival' CLI> module load app_festival == Parsing '/etc/asterisk/festival.conf': == Found == Registered application 'Festival' Loaded app_festival => (Simple Festival Interface) Si aparece algn tipo de error significa que el modulo no ha sido compilado y tenemos que volver a la compilacin de Asterisk.

Existe un proyecto de la Junta de Andaluca cuyo fruto son dos paquetes que contienen una voz masculina y otra femenina para Festival. Entonces realizaremos el cambio de la configuracin de Festival para que se puedan utilizar en Asterisk. Festival viene con predefinido el idioma ingles. Para agregarle el idioma espaol hay que seguir estos pasos: Instalar los paquetes: rpm -Uvih festvox-palpc16k-1.0-2.noarch.rpm rpm -Uvih festvox-sflpc16k-1.0-2.noarch.rpm

En la carpeta /usr/share/festival/voices/spanish encontraremos estas dos carpetas: JuntaDeAndalucia_es_pa_diphone JuntaDeAndalucia_es_sf_diphone La primera es la voz masculina y la segunda la voz femenina. Modificamos la configuracin de Festival para usar la voz femenina: vim /usr/share/festival/festival.scm y antes de la ultima lnea del archivo pegamos: ;(language__spanish) (set! voice_default 'voice_JuntaDeAndalucia_es_sf_diphone) (define (tts_textasterisk string mode) "(tts_textasterisk STRING MODE) Apply tts to STRING. This function is specifically designed for use in server mode so a single function call may synthesize the string. This function name may be added to the server safe functions." (let ((wholeutt (utt.synth (eval (list 'Utterance 'Text string))))) (utt.wave.resample wholeutt 8000) (utt.wave.rescale wholeutt 5) (utt.send.wave.client wholeutt)))

Guardamos el archivo y modificamos el archivo de configuracin de festival en asterisk: vim /etc/asterisk/festival.conf estas son la lneas que hay que modificar/activar

[general] host=localhost port=1314 festivalcommand=(tts_textasterisk "%s" 'file)(quit)\n Guardamos el archivo y reiniciamos asterisk /etc/init.d/asterisk reload Ahora vamos a aadir unas cuantas lneas en extensions.conf vim /etc/asterisk/extensions.conf exten => 2000,1,Answer() exten => 2000,n,Festival(Asterisk y Festival trabajan junto. Chevere!!!) exten => 2000,n,Hangup() Actualizamos el dialplan desde la consola asterisk -r CLI> dialplan reload Listo! Ahora desde un softphone conectado a la centralita marcamos la extensin 2000. Escucharon algo? Si? Pues funcionaaaaa :) Para arrancar el servidor de Festival en automtico ponemos esta lnea en el archivo rc.local vim /etc/rc.local /usr/bin/festival_server

Referencias: http://www.voztovoice.org/?q=node/97 http://www.voztovoice.org/?q=node/213 http://wiki.asterisk-es.org/tiki-index.php?highlight=conf&page=Festival http://www.cstr.ed.ac.uk/projects/festival/ http://phylevn.mexrom.net/index.php/blog/show/67.html

Recopilado por: Elicer Tats Montenegro

Вам также может понравиться