Title: Diapositiva 1
1Síntesis de Voz y Asterisk
Soluciones para la integración multilingue con
Festival
- Sílvia Gallego
- Optimización de Sistemas Empresariales S.L.
2Presentación
- Sílvia Gallego González
- (pre) Ingeniero Superior en Telecomunicaciones
ETSETB-UPC - PFC Diseño corpus para la síntesis de voz en
catalan con festival - Optimización de Sistemas Empresariales S.L.
- Experiencia 5 años sector Telecomunicaciones
- Experiencia 3 años con Asterisk (dCap)
3Indice
- Síntesis de Voz
- Festival
- Asterisk
- Las Voces de Asterisk
- Aportaciones comunidad ES
- Festival y Asterisk
4Síntesis de Voz
- Entendemos por síntesis de voz la capacidad de
imitar y/o generar el habla humana. - Llamaremos sintetizadores a aquellos sistemas
capaces de generar habla humana. - Sistemas TTS (Text-to-Speech).
- Sistemas CTS (Concept-to-Speech).
5Síntesis de Voz
Esquema de un Sintetizador TTS
Normalización, analisis morfològico y contextual
transcripción fonética
Generación de la prosodia. Dota a cada sonido de
la infomación de ritmo, tono, velocidad y
duración. Da naturalidad al sintetizador.
DSP Genera la onda resultante con los datos
obtenidos en otros módulos.
6Síntesis de Voz
Posibles métodos para el DSP (waveform generator)
- CONCATENACION Comercial. Cortar y pegar.
Ventajas Realismo. Problemas la discontinuidad,
consumo cpu base de datos. - FORMANTES Antiguo, en desuso. Filtros y Fuente.
Ventajas no ocupa nada. Problemas sonido pobre. - ARTICULAR Linea de investigación futurista.
Parámetros. Ventajas reconocimiento facial.
Desventajas complejidad, costes, etc. - HTS, HMM Novedoso. Modelado estadístico
difonemas. Ventajas Ocupa poco, no hay
discontinuidades. Desventajas Sonido muy
máquina.
7Festival
Que es Festival
- És uno de los sintetizadores de voz con código
abierto más conocidos. Nace como sistema de
síntesi multi lenguage en el CSTR (Center for
Speech Technology Research) en la Universidad de
Edinburgo. - Su potencia reside en que está desarrollado para
tres tipos de usuarios según deseen - un sintetizador arbitrario,
- desarrollar un sintetizador para una lengua en
concreto - desarrollar nuevos métodos de síntesis.
8Festival
Festvox es la continuación del proyecto
festival. Iniciada por Carnegie Mellon
University en Pittsburg, Estados Unidos Son un
conjunto de herramientas y librerías que permiten
facilitar la creación de nuevas lenguas en
festival.
Que es Festvox
9Festival
Incorporada por festival existe una voz beta
generada por concatenación de difonemas. Es de
baja calidad pero suficiente para pruebas y
entornos domésticos. La distribución Guadalinex
incorpora dos nuevas voces generadas por
concatenación de difonemas de mayor calidad
(locutores profesionales han grabado segmentos
ricos en difonemas para tener gran variedad al
hacer la concatenación). Hay una voz femenina y
una masculina. http//forja.guadalinex.org
Festival Español
10Festival
FestCat és un proyecto de la Universidad
Politécnica de Catalunya para ofrecer una voz
síntetica de calidad en catalán i de acceso
libre. http//gps-tsc.upc.es/veu/festcat/ A
finales de noviembre estarán disponibles dos
voces (una masculina y una femenina) generadas
mediante HTS y dos voces (una masculina y otra
femenina) generadas por concatenación (selección
de unidades). También se incluyen las normas
necesarias para el uso con festival.
Festival Català
11Asterisk
- Asterisk es un sistema global de telefonía IP.
Requiere de voces para la interacción
cliente-asterisk (buzones de voz, menús
virtuales, etc.) - La versión 1.2 solo incorpora el inglés por
defecto. - La versión 1.4 incorpora varios idiomas por
defecto. (inglés, español y francés) - La calidad de las voces en español por defecto es
baja. - Es sencillo incorporar una nueva voz, existen muy
valiosas aportaciones de la comunidad española a
las voces en asterisk.
12Aportaciones Comunidad Española
- Asterisk 1.2
- Capatres http//www.capatres.com
- Voipnovatos http//www.voipnovatos.es
- Catalán http//casal.upc.es/silvia29 (Sílvia
Gallego) - Asterisk 1.4
- Se pueden usar las de 1.2 con pocas
modificaciones. - Voipnovatos http//www.voipnovatos.es (en
desarrollo)
13Nueva voz
- Para grabar una nueva voz.
- Con la aplicación Record se graban nuevos
mensajes. Por ejemplo es útil para permitir a los
usuarios modificar el mensaje contestador o de
bienvenida. - Record(filenameformatsilencemaxdurationop
tion) - Se puede grabar en casa o en un estudio. El
formato ideal es Windows PCM wav a 8kHz a 16
bits. Aunque se puede grabar con un ratio mayor y
resamplear. - Aplicaciones de grabación Audacity, WavePad,
CoolEdit, etc.
14Nueva voz
- Cambios en asterisk 1.2 para incorporar una nueva
voz. - Crear un directorio con los nuevos sonidos (por
ejemplo es-silvia) en /var/lib/asterisk/sounds/ - Crear directorios para los digitos, fonemas y
letreo. - sounds/letters/es-silvia
- sounds/digits/es-silvia
- sounds/phonetic/es-silvia
- Modificar el lenguage por defecto de los canales,
el lenguage es el nombre del directorio creado
(por ejemplo es-silvia). En los archivos
zapata.conf, sip.conf, iax.conf - language es
- Usar la función LANGUAGE para forzar el idioma en
medio del dialplan. - Set( LANGUAGE ( ) es-silvia )
15Nueva voz
- Cambios en asterisk 1.4 para incorporar una nueva
voz. - Crear un directorio con los nuevos sonidos (por
ejemplo es-silvia) en /var/lib/asterisk/sounds/ - Crear directorios para los digitos, fonemas y
letreo. - sounds/es-silvia/letters
- sounds/es-silvia/digits
- sounds/es-silvia/phonetic
- Modificar el lenguage por defecto de los canales,
el lenguage es el nombre del directorio creado
(por ejemplo es-silvia). En los archivos
zapata.conf, sip.conf, iax.conf - language es
- Usar la función CHANNEL(language) para forzar el
idioma en medio del dialplan. - Set( CHANNEL (language) es-silvia )
16Las Voces de
- Son un número limitado de frases y palabras. En
español son unas 1600 frases para el 1.2. - Se puede cortar y pegar para generar nuevas
frases con las frases existentes. - Hay un número limitado de palabras. En español
para la v.1.2 hay 1.200 palabras distintas del
total de 5.300 que forman las frases, el
diccionario de la real academia de la lengua
incluye unas 100.000 palabras, sin incluir
derivaciones.
17Asterisk y la Síntesis de Voz
- Para que usar un sintetizador de voz con asterisk
- Crear nuevas lenguas, dialectos, voces
masculinas-femeninas sin necesidad de invertir en
grabaciones. - Poder generar cualquier frase (Recuerde
preguntar por nuestra ofertas en cosméticos). - Evitar los cambios de voces, tonos y volúmenes
(Si despedimos a la recepcionista no tener que
volver a grabar todas las locuciones de la
empresa). - Que sintetizadores
- Un ejemplo comercial Verbio Technologies
- Un ejemplo software libre Festival
18Festival y Asterisk
- Preparar el sistema para festival
- Instalar festival.
- http//www.cstr.ed.ac.uk/projects/festival
- Instalar las voces en español
- http//forja.guadalinex.org/repositorio/frs/downlo
ad.php/155/DesarrolloVocesSinteticasGuadalinex.pdf
- Instalar las voces en catalan
- http//gps-tsc.upc.es/veu/festcat/ext/UPC_Francesc
_Jarque.pdf - Hay varias formas de usar Festival y asterisk
19(No Transcript)
20Como usar Festival
- Cargar una voz distinta a la por defecto
- festivalgt (voice_el_diphone)
- Decir una frase
- festivalgt (SayText "Hola mundo")
- ltUtterance 0xb7056c78gt
- Salir
- festivalgt (quit)
- Decir una frase paso por paso
- festivalgt (set! utt1 (Utterance Text "Hello
world")) - ltUtterance 0xb7056c78gt
- festivalgt (utt.synth utt1)
- ltUtterance 0xb7056c78gt
- festivalgt (utt.play utt1)
- ltUtterance 0xb7056c78gt
21Festival y Asterisk
- Usar la función Festival()
- Aplicar el parche que viene con la distribución o
modificar el archivo festival.scm - (set! server_access_list '("localhost\\.localdomai
n" "localhost")) - (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." - (utt.send.wave.client (utt.wave.resample
(utt.wave.rescale (utt.synth - (eval (list 'Utterance 'Text
string))) 5) 8000))) - http//www.voip-info.org/wiki/view/Asteriskfestiv
alinstallation
22Festival y Asterisk
- Usar un AGI que llame al script
festival-script.pl. - exten gt 1234,1,Answer
- exten gt 1234,2,AGI(festival-script.pl Gracias
por llamar CALLERIDNUM.) - exten gt 1234,3,Hangup
- El script usa la aplicación text2wave,
incorporada por defecto con festival. Solo
tenemos que modificar la lengua por defecto de
festival para que elija el español. En el archivo
/directorio-festival/lib/voices.scm, buscamos
default-voice-priority-list y ponemos el_diphone
como primera de la lista.
23Festival y Asterisk
- Podemos llamar directamente a la aplicación
text2wave. - exten gt s,1,Answer()
- exten gt s,2,System(/usr/bin/text2wave
/ruta/archivo.txt -o /var/lib/asterisk/sounds/milo
cucion.ulaw -otype ulaw) - exten gt s,3,Playback(milocucion)
- La aplicación genera un archivo de audio a partir
de un archivo de texto. Deberemos también
modificar festival para que elija por defecto el
español.
24OPTIMIZACIÓN DE SISTEMAS EMPRESARIALES
S.L. http//www.optisistem.com sgg_at_optisistem.com
Telecosilvia
Aquesta obra està subjecta a una llicència
Reconeixement-Compartir amb la mateixa llicència
3.0 Unported de Creative Commons. Per veure'n una
còpia, visiteu http//creativecommons.org/licenses
/by-sa/3.0/ o envieu una carta a Creative
Commons, 171 Second Street, Suite 300, San
Francisco, California 94105, USA.