Mejorando las voces de Festival para Asterisk en CentOS

Ya hemos visto como implementar Festival en Asterisk y como instalar las voces en español. Como me han hecho notar algunos visitantes de este sitio, la calidad no es muy buena. Existe un proyecto de la Junta de Andalucía cuyo fruto son dos paquetes (para Debian) que contienen una voz masculina y otra femenina para Festival. Hoy veremos como convertir los paquetes debian (.deb) a CentOS (.rpm) y como cambiar la configuración de Festival para que se puedan utilizar en Asterisk.

Para trasformar un paquete de una distribución a otra existe el programa Alien (escrito en perl). Si no lo tenemos instalado es el momento de hacerlo:

yum install perl

Instalamos también una utilidad para crear los paquetes en CentOS:

yum install rpm-build

Ahora descargamos Alien:

cd /usr/src

wget http://ftp.de.debian.org/debian/pool/main/a/alien/alien_8.78.tar.gz

Lo descomprimimos:

tar –xf alien_8.78.tar.gz

entramos en la carpeta y lo instalamos:

cd alien

perl Makefile.PL

make

make install

Ahora bajos los dos paquetes Debian con las voces en español para festival:

wget http://forja.guadalinex.org/repositorio/frs/download.php/154/festvox-sfl...

wget http://forja.guadalinex.org/repositorio/frs/download.php/153/festvox-pal...

Trasformamos los paquetes en .rpm:

alien –rv festvox-palpc16k_1.0-1_all.deb

alien –rv festvox-sflpc16k_1.0-1_all.deb

Llegados a este punto podemos instalar los dos paquetes para CentOS:

rpm –ivh festvox-palpc16k-1.0-2.noarch.rpm

rpm –ivh 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 configuración de Festival para usar la voz femenina:

nano /usr/share/festival/festival.scm

y antes de la ultima línea 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 los cambios y hacemos nuestras pruebas. Notarán un mejoramiento de la calidad.

Vota el Articulo: 

Sin votos (todavía)
Evalúa la calidad del articulo

1 comentario

La URL de los paquetes Debian

Suscribirse a Comentarios de "Mejorando las voces de Festival para Asterisk en CentOS" Suscribirse a VozToVoice - Todos los comentarios