[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: traductor de voz a escritura!



El Martes, 20 de Junio de 2006 06:49, consultores1 escribió:
> El Viernes, 16 de Junio de 2006 9:48 AM, consultores1 escribió:
> > El Viernes, 16 de Junio de 2006 3:22 AM, Aritz Beraza Garayalde [Rei]
> >
> > escribió:
> > > El Viernes, 16 de Junio de 2006 01:06, consultores1 escribió:
> > > > Hola
> > > >
> > > > Estoy iniciando un pequeno proyecto y me gustaria hacerlo en
> > > > Debian. El asunto es: 1 microfono direccionable inalambrico de
> > > > alta fidelidad que reciba la voz, en una reunion por ejemplo ; la
> > > > mande a una laptop viejita y la muestre en pantalla como texto; se
> > > > requiere que funcione en varios idiomas.
> > >
> > > Olvidate de usar un portatil viejito. Sobretodo si quieres que
> > > soporte varios idiomas a la vez. (De hecho no se si existe algun
> > > programa que sea capaz de discernir que idioma usa el interlocutor
> > > para cambiar el diccionario).
> > >
> > > > Es un proyecto para sordos y se realizara como ayuda comunitaria.
> > > > Actualmente, una persona esta a la par del sordo y escribe lo que
> > > > escucha, lo que inmediatamente sirve para saber de que se trata.
> > > > La otra forma es que se usa un microfono directo al aparato en la
> > > > oreja del susodicho, pero esta forma tiene el inconveniente de que
> > > > hay que pasarse el microfono y cuando la cosa se calienta, se
> > > > olvidan de pasarlo!
> > > >
> > > > Por supuesto que ya aparecieron los lagartos proponiendo
> > > > ViaVoz+Ws+maquinas de $2,500.00: pero me gustaria intentar con
> > > > Debian y por eso les pregunto.
> > >
> > > Creo que comercialmente disponibles el dragon naturally speaking y
> > > el viavoice son los dos sistemas de reconocimiento de habla mas
> > > avanzados. Ninguno de ellos dispnibles en debian. Ambos tienen algo
> > > que necesitaras: Diccionarios especificos.
> > >
> > > En linux tienes sphinx, un buen "motor". No es en si un sistema de
> > > reconocimiento de habla completo, pero con sphinx3 (por que sphinx4
> > > necesita java y eso significa mas consumo de recursos) y un
> > > vocabulario podrias tener el sistema funcionando (el ejecutable para
> > > convertir en texto lo que llegue por el microfono ya viene de
> > > serie).
> > >
> > > Tu problema sera el vocabulario (los modelos lexicos y acusticos del
> > > castellano me imagino que estaran disponibles en alguna parte). Pero
> > > un vocabulario minimamente extenso (5000-20000 palabras) con
> > > palabras especificas como las que se usan en las conversaciones en
> > > las que piensas usarlo, va a ser mas complicado, y seguramente
> > > tendreis que crearlo.
> > >
> > > Lo del microfono es otro problema. Quieras o no, va a entrar mucho
> > > ruido, sobretodo si se entra en una discusion acalorada, y eso es
> > > matador en los sistemas de reconocimiento de habla. El microfono (y
> > > la tarjeta de audio) son _muy_ importantes. Un sistema ideal usaria
> > > un microfono por persona. Estilo el parlamento, cuando alguien va a
> > > hablar, pulsa su microfono. El sistema usa la entrada del resto de
> > > microfonos para cancelar el ruido y las conversaciones paralelas que
> > > puedan producirse. Pero supondre que esto es inviable.
> > >
> > > > Como no tenemos nada claro, cualquier idea o sugerencia nos
> > > > vendria muy bien.
> > >
> > > Pasate por la web del proyecto sphinx
> > > http://cmusphinx.sourceforge.net/html/cmusphinx.php
> > >
> > > mirate la informacion del tutorial y el resources to buils a system.
> > > Mirate tambienel manual. Con esto tienes todo lo necesario para
> > > montarte tu sistema. pero si estas vago...
> > >
> > > Tienes perlbox voice http://www.perlbox.org/ que usa sphinx2 para el
> > > reconocimiento del habla. (aparte de tener otras utilidades) no lo
> > > he probado.
> > >
> > > Ya te aviso que de todas formas vas a tener que entrenarlo mucho. 
> > > (y entrenarlo es bastante costoso), por que la mayoria de modelos y
> > > diccionarios que he encontrado son para el ingles.
> > >
> > > Saludos
> > > Aritz Beraza [Rei]
> >
> > Infinitas gracias Aritz, por responder, segun lo que dices, se puede
> > realizar, luego te cuento.
> >
> > hasta pronto.
>
> Hola Aritz y a todos.
>
> He investigado un poco y solamente he encontrado trabajos muy buenos
> basados en la informacion que me distes, orientados a convertir texto a
> voz. (KMouth, KSayit, Kttsmgr y otros) Agrego, que los programas citados
> estan en Etch.
>

La mayoria de aplicaciones de text2speech usan festival como motor en 
linux. Lo unico es que le programan un frontend para que sea mas facil de 
usar.

> Me llama la atencion que no encuentro nada terminado para convertir voz
> a texto! Sabe alguien, cual podria ser la dificultad?
>

Como intente explicar en mi primer mail, en linux tienes los motores que 
hacen la conversion, te falta armar el resto.

El resto es por ejemplo una base de datos con archivos de audio con cientos 
o miles de palabras pronunciadas por un centenar de personas diferentes. 
El problema es que esto es muy caro, y es un proceso bastante manual 
(normalmente, se hace leer una frase o un numero de palabras sueltas, 
luego alguien separa la frase en archivos de audio con sus palabras, y 
luego por cada archivo de audio hay que especificar en que instantes 
empieza y termina la palabra y otra informacion que facilite las cosas al 
programa de entrenamiento. Lo normal es que tras esto, se genere un 
diccionario que es lo que usa el sistema para reconocer palabras.

Diccionarios de estos gratis y disponibles para descarga por internet solo 
he encontrado de ingles, no de castellano.  Y como indique en el primero, 
el problema es que para entornos especificos no suele servir un 
diccionario general sino que hay que usar uno especifico. Por ejemplo, 
para el entorno empresarial, tendrias que usar un diccionario con vocablos 
habituales en el mundo de las finanzas, marketing, recursos humanos, etc.

En todo esto es donde los sistemas comerciales como Via Voice o Dragon 
Naturally speaking ganan la partida, pues tienen soporte para multiples 
idiomas, y adicionalmente puedes comprar diccionarios temticos (se que 
existen al menos uno con vocablos de medicina y otro orientado a 
empresas).

> Yo no se mucho de esto, pero segun veo, seria de grabar la voz y
> convertirla en texto.  Gracias anticipadas, se agradece cualquier
> informacion.

La conversion es un proceso muy complejo.

Por ejemplo, que usas realmente para reconocer palabras?

* Palabras: Se usanmodelos de las palabras a reconocer en sistemas donde se 
han de reconocer unos centenares como mucho de palabras. 

* Fonemas, alofonos, etc: Para grandes vocabularios, usar palabras como 
unidad basica de reconocimiento es inviable. Piensa que se tendria que 
tener a muchas personas pronunciando todos los modelos centenares de 
veces, si tienes un vocabulario de 80000 palabras estamos hablando de 8 
millones o mas de repeticiones!!!. Por eso se usan unidades mas pequenyas 
como fonemas alofonos y otras. El problema es que cada fonema suena 
diferente segun su posicion en la palabra (no suena igual la b a principio 
de palabra que la b entre una m y una r, que a final de palabra). Por no 
mencionar que incluso un mismo interlocutor pronuncia diferente segun su 
estado de animo y/o circunstancias personales.

Esto hace que el reconocmiento sea ambiguo. Para eliminar incertidumbre, se 
usan otros sistemas de respaldo, como por ejemplo un modelo de lenguaje 
que permite a partir de las palabras ya  reconocidas, estimar la 
probabilidad de que la siguiente palabra). Si el sistema ha reconocido los 
vocablos "de la", el modelo de lenguaje deberia indicar que la siguiente 
palabra deberia ser un nombre, asi que si el reconocedor duda entre varias 
palabras, esta informacion hara que las que no sean nombre sean 
practicamente descartadas. Los modelos de lenguaje si que son mas faciles 
de obtener.

Resumiendo, en linux tienes las herramientas, te faltan los datos. Puedes 
crearlos tu (si te lo propones en unos pocos meses puedes tener un sistema 
con una tasa de error decente) o intentar buscar algo ya hecho, pero si no 
es en ingles, la cosa esta dificil.

Saludos
Aritz Beraza [Rei]
-- 
Aritz Beraza Garayalde [Rei]   [http://www.ayanami.es] 
- No enviarás correos en HTML a La Lista.
- No harás top-posting, responderás siempre debajo del mail original.
- No harás Fwd, a La Lista, siempre reply.

Attachment: pgpIrVpEpJKcX.pgp
Description: PGP signature


Reply to: