jueves, 3 de septiembre de 2009

Reconocimiento del habla en linux


Siempre me ha interesado este tema, pero es ahora, con la gran cantidad de textos que debo transcribir, cuando realmente echo en falta un sistema como el famoso Dragon Naturally Speaking, pero en GNU/Linux. Por interés te quiero Andrés.

Antes de nada explicaré de qué hablo. Tenemos 2 opciones: hablar a través de un micrófono y que el ordenador "escriba", o escribir en el ordenador y que el ordenador "hable". Mi interés se centra en el primer caso, pues el segundo hace años que está solucionado, mediante programas como Festival, Kmouth, KTTS y otros. (se denominan genéricamente Text To Speech = TTS)

Ya en su momento estuve buscando programas del primer tipo, pero sólo encontré dos: CMU Sphinx e IBM Via Voice (lo siento por los enlaces en inglés, pero en español no hay información).

Via Voice fue abandonada, excepto aplicaciones empotradas muy específicas. Sphinx (creado por la Carnegie Mellon University) resiste, y va por su versión 4.

Actualmente la cosa parece moverse, por fin. Cierto que puede sortearse el problema con Wine o Virtualbox, pero no tengo la solvencia económica para desembolsar el coste de los programas comerciales. Así que me centraré en aplicaciones gratuitas y, a ser posible, libres.

Empecemos:

1-Sphinx: libre, gratuito, algo complicado de utilizar, sólo tiene el idioma inglés (es necesario entrenar el programa 2 veces: para nuestro idioma y para nuestra voz). Va por la versión 4, totalmente en Java.

2-ASTRA (Advanced Sphinx TRAiner): como su nombre indica, es sólo un entrenador para Sphinx 3, pero tiene muy buena pinta. Libre, gratuito, aún en desarrollo, también en Java. Al menos facilita el proceso de entrenar el idioma (crear el corpus del idioma)

3-Julius: el otro gran competidor, libre, gratuito (licencia BSD), también Java, en Win y linux. Al igual que Sphinx necesita entrenamiento, pero ya viene con el corpus para el idioma japonés y preparan el del idioma inglés con VoxForge.

3-simon: el entrenador de Julius para crear corpus de idiomas diferentes. Al igual que ASTRA, su presentación es muy buena, si no excelente. Funciona en Gnome y KDE, licencia LGPL, escrito en C y C++.

4-Voxforge: este proyecto recoge las voces de los usuarios, para poder crear varios corpus de varios idiomas. Las voces recogidas tendrán licencia GPL. Puede ser el impulso definitivo para que todos acaben de arrancar.

Con esto espero haber ayudado a aclarar las posibilidades existentes. Si habéis llegado hasta aquí, tenéis paciencia de sobra para colaborar. Donad vuestra voz, el futuro de estos programas depende de ello. Y no cuesta dinero.

Y ahora unas reflexiones mías (si no os interesan, como la publicidad, id directamente a los enlaces del final):

1-¿Por qué muchos programas Open empiezan, pero luego se quedan en un permanente estado beta, cuando no alpha?

2-¿Por qué el idioma principal de estos programas suele ser el inglés, con lo complicado que es su conversión a texto?¿Tan poco colaboramos los hispanoparlantes, o tan poco piensan los desarrolladores con respecto al español y su paridad letra/fonema?

3-¿Por qué a nadie se la ha ocurrido antes lo de VoxForge?

Si alguien lo sabe, que comente.

Fuentes:
http://es.wikipedia.org/wiki/S%C3%ADntesis_de_habla - Definición de TTS
http://es.wikipedia.org/wiki/Reconocimiento_de_voz - Definición de reconocimiento del habla
http://en.wikipedia.org/wiki/List_of_speech_recognition_software - Lista de programas (en inglés)
http://www.itq.edu.mx/vidatec/espacio/aisc/ARTICULOS/ASCC/articuloASCC.htm - Artículo sobre reconocimiento del habla
http://linux-sound.org/speech.html -Guía (no actualizada) de aplicaciones (reconocimiento y TTS)
http://www.voxforge.org/es - Página del proyecto, en español

No hay comentarios:

Publicar un comentario