Instalar y configurar Festival en Asterisk 1.6.X
Mié, 26/11/2008 - 18:45 — admin
Actualizado 12 Septiembre 2009
Como muchos de ustedes saben Festival en un TTS, es decir un sistema de síntesis de voz. Para que lo necesitamos en Asterisk? Si queremos crear menú de voz, saludos de bienvenida, leer archivos de texto, entonces si que lo necesitamos.
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 -rvvvvvvvvvvvvvvv
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 algún tipo de error significa que el modulo no ha sido compilado y tenemos que volver a la compilación de Asterisk.
Festival viene con predefinido el idioma ingles. Para agregarle el idioma español hay que seguir estos pasos:
cd /usr/share/festival/voices
wget http://www.voztovoice.org/tmp/festival-spanish.zip
yum install unzip
unzip festival-spanish.zip
Ahora modificamos el archivo de configuración de festival
nano /usr/share/festival/festival.scm
añadimos estas líneas
;(language__spanish) (set! voice_default 'voice_el_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 configuración de festival en asterisk:
nano /etc/asterisk/festival.conf
estas son la líneas que hay que modificar/activar
[general] host=localhost port=1314 festivalcommand=(tts_textasterisk "%s" 'file)(quit)\n
Guardamos el archivo Ctrl-O Ctrl-X
Reiniciamos asterisk
/etc/init.d/asterisk reload
Para arrancar el servidor de Festival en automático ponemos esta línea en el archivo rc.local
nano /etc/rc.local
/usr/bin/festival_server
Ahora reiniciamos el servidor linux
reboot
Controlamos que el servidor festival esté corriendo:
Ahora vamos a añadir unas cuantas líneas en extensions.conf
nano /etc/asterisk/extensions.conf
exten => 650,1,Answer() exten => 650,n,Festival(Asterisk y Festival trabajan junto. Chevere!!!) exten => 650,n,Hangup()
Actualizamos el dialplan desde la consola
asterisk -rvvvvvvvvvvvvvvvvv
CLI> dialplan reload
Listo! Ahora desde un softphone conectado a la centralita marcamos la extensión 650. Escucharon algo? Si? Pues funcionaaaaa :)
Agradezco lo autores de este articulo que usé como guía.
Un saludo |