Software Libre para Guanajuato

Bienvenido(a) a Grupo Linuxero de Bajío
viernes, noviembre 24 2017 @ 09:58 CET

Hablando con Pingüinos ( Reconocimiento y Síntesis de Voz en GNU/Linux )

Artículos

El reconocimiento y síntesis de voz en Linux recientemente ha mejorado bastante, recordemos que para otras plataformas ya existen programas comerciales que lo hacen bastante bien pero que cuestan muchos billetes y que por software libre existen alternativas.

Este es un pequeño manual sobre tres programas acoplados para tal efecto, hablar con la computadora y que esta haga algo.

1. Reconocimiento de voz
Para el reconocimiento de voz utilizamos Sphinx2 un programa desarrollado por The Sphinx Group en Carnegie Mellon University bajo licencia BSD del tipo Apache.
Sphinx2 es el más rápido que los otros desarrollados (Sphinx3 y Sphinx4) y tiene buenas características como reconocimiento continuo (no por palabras) y independencia del locutor (sin entrenamiento previo).
Para instalarlo basta con obtener el archivo fuente y hacer los clásicos

tar zxvf sphinx2****.tgz
cd sphinx2****
./configure
make
make install

o con el RPM.

2. Síntesis de Voz
Este es más sencillo dado el gran desarrollo que que tiene el proyecto Festival que es liberado bajo un licencia tipo X11.
Su instalación es sencilla mediante el administrador de contenido URPMI de Mandrake, basta con urpmi festival y hay RPMs o compilenlo desde sus fuentes.

3. Integración de ambos con PerlBox-Voice
Pues encontre un programita escrito en Perl que se encarga de administrar a Sphinx2 y Festival a la par y todo bajo un bonito ambiente hecho en Tcl, se obtiene de aquí y su instalación es trivial usando el script perlbox-voice.install.

Con todo listo, probamos el sistema simplemente abrimos una terminal y ejecutamos perlbox-voice, se abre una ventana y podemos controlar el listener sphinx2 (festival lo arranca desde la llamada) o definir nuevos comando. Lamentablemente por defecto esta en inglés y los comando que creemos tendrán que ser en este idioma, la voz que nos contesta lo hace igual en inglés, aunque puede contestar en español mocho hablando como gringo ("Hola amigou").

PerlBox Voice nos permite definir comandos de voz para ejecutar determinadas acciones como si decimos "web" abra "firefox" o "editor" y ejecute "gvim", los límites son la imaginación y nuestros conocimientos en la línea de comandos.

Otra característica es la de formular dialogos preestablecidos, como si decimos "morning" conteste "good morning", imaginen un escenario en que cuando como de costumbre insultemos al equipo y te conteste, algo así:

TÚ: Ejecutar proceso XXXX
COM: No puedo ejecutar proceso XXXX
TÚ: Pi... máquina pen...
COM: Tú eres el pen... no yo
TÚ: Ha sí, pues ch... tú m...
COM: No tengo progenitora biológica
TÚ: Pues ch... tus bytes
COM: AUXILIO, HUMANO INTENTA GOLPEARME
...

Ahora ando investigando sobre como colocar otras voces, he estado viendo el proyecto MBROLA pero los pasos que se siguen no me sirven ya que al ejecutar en la terminal Festival me ocurre:

$ festival -i
Festival Speech Synthesis System 1.4.3:release Jan 2003
Copyright (C) University of Edinburgh, 1996-2003. All rights reserved.
For details type `(festival_warranty)'
festival> (voice_mx_mbrola)
SIOD ERROR: could not open file /usr/share/festival/voices/spanish/mx_mbrola/festvox/mx_mbrola.scm
festival>

ya me fije y no existen los archivos que llama y es que creo que Festival no entiende que la voz es de tipo mbrola, bueno sigo en eso y si tengo resultados les aviso.

Conclusiones
El reconocimiento y síntesis de voz en Linux está en punta, este conjunto de programas que les describí trabajan aceptablemente bien, salvo veces en que no me entiende o lo entiende mal pero se ve que sigue en desarrollo y la fase de soporte a otros idiomas hace falta. En cuanto al consumo de CPU y memoria es mínimo comparado con lo que hay para MS-Window$ y el tiempo de respuesta es aceptable. La integración a los escritorios favoritos ya empezó con KDE y con GNOME no hay nada todavía pero no se ve tan complicada.

__LINXE__

Opciones de la Noticia

Hablando con Pingüinos ( Reconocimiento y Síntesis de Voz en GNU/Linux ) | 10 comentarios | Crea una cuenta nueva
Los siguientes comentarios son de la persona que los haya enviado. Este sitio no se hace responsable de las opiniones expresadas por los participantes en los foros y secciones de comentarios, y el hecho de publicar las mismas no significa que esté de acuerdo con ellas.
chido
Escrito por: ceyusa sobreviernes, enero 21 2005 @ 04:39 CET

Buena revisión del software para el reconocimiento y sintetizado de voz.

Completando, lo que sería estupendo es una herramienta que una al festival y al sphinx utilizando VoiceXML. Este lenguaje de marcado te permite hacer diálogos interactivos, que será procesados precisamente por un reconocedor y un sintetizador de voz.

Claro, estos diálogos serán guiados por la máquina, no por el usuario, ya para esto habría que nadar un rato en Procesos de Decisión de Markov.

Por otro lado, ATT tiene un chisme que se llama Natural Voices, que es un Festival pero con voces más humanas. Pero es comercial.

Aca en la maestría, mi roomata trabaja con Voice Server de IBM, para hacer diálogos para los robots de servicio.

---
Vale
Ceyusa

[ Responde a | # ]
  • chido - Escrito por: linxe sobre lunes, enero 24 2005 @ 09:14 CET
Hablando con Pingüinos ( Reconocimiento y Síntesis de Voz en GNU/Linux )
Escrito por: jacob sobresábado, enero 22 2005 @ 12:56 CET
muy excelente articulo o reportaje o como lo quieran ver
Saludos Linxe
a ver cuando te dejas ver,para irnos al supertableton....ahhno creo que ya no puedes verdad!!!!!
como dices que decias,jejeje,
ya..bueno de que puse tus datos la vez pasada..que ya mero faltaba nada mas de que calzas y de que que ...ejejejejejejejejejejjejejejejejejejejejeje

Orales nos vemos


---
M.A.M.E DEV
[ Responde a | # ]
Hablando con Pingüinos ( Reconocimiento y Síntesis de Voz en GNU/Linux )
Escrito por: fraybyte sobresábado, febrero 19 2005 @ 11:21 CET
Llevo usando MBROLA desde hace algunos años.

El esquema general de su uso es vía un programa externo de TEXTO-A-VOZ y su parametrización con indicación del diccionario a usar: texto->TAV->MBROLA DCC

Es independiente del idioma, de tal modo que una buena selección de diccionario y TAV facilita su uso con cualquier idioma. Es más; hay scripts para que, incluso, cante...

Dispongo de scripts BASH para seleccionar incluso la edad vocal; v.g. joven, adulto, etc. y género; masculino, femenino. Calculados parametrizando MBROLA. Cómo éstos están muy integrados a mi entorno linux; he de generalizarlos antes de poder compartirlos. Cuando lo realice os avisaré.

Respecto al mensaje inicial: probaré a usar el reconocedor (su búsqueda me ha traído aquí ;) con MBROLA, etc. y, naturalmente, trataré de que reconozca (ése u otro) el lnguaje español.

El que desee contactar que examine mi perfil.

---
Fray Byte
[ Responde a | # ]
Hablando con Pingüinos ( Reconocimiento y Síntesis de Voz en GNU/Linux )
Escrito por: gestos sobrelunes, febrero 28 2005 @ 02:38 CET
Pues probe la conjunciòn Perlbox-voice + Sphinx 2 + Festival Sobre un Mandrake 10.1
Soy novato en linux y segui las instrucciones aqui citadas

EL festival funciona muy bien, aunque habrìa que cambiar la voz y el diccionario, pero no puedo instalar el sphinx 2.
Me aparece el error :

Can\'t exec \"/usr/bin/sphinx2-continuous\": No such file or directory at /usr/lib/perlbox-voice/PerlboxListener.pl line 112.


Baje el codigo via CVS, pero cuando ejecuto ./configure me dice que no existe tal archivo, y por ende no puedo instalarlo.
¿Alguien me puede orientar para a instalarlo?

Gracias
Gerardo.
[ Responde a | # ]