lunes, 30 de marzo de 2009

Speech recognition "a medias"

Como algun@s ya sabréis, poco a poco voy volviendo a la normalidad tras protagonizar con éxito "Geek Shoulder Operation: reconstrucción de un hombro geek". A pesar de que escribo con la zurda más lento que el caballo del malo y cometo más typos y consecuentemente digo más tacos que nunca, ya estoy aquí "cumpliendo" con una de mis "aficiones/pasiones". Como me decía el amigo tatexo, Lonifasiko 1.x ha quedado en el quirófano..., y de allí sale un renovado Lonifasiko 2.5 que se salta la fase 2.0 del tirón. Eso sí, de momento, hasta recuperarme del todo, estoy disponible para lectura únicamente en versión beta, iremos mejorando ;-).

Dado lo paquete que soy escribiendo tecla a tecla con la zurda, estos días estaba pensando en alternativas o formas de escribir posts de manera algo más rápida: una de las opciones más claras era grabar una serie de videoposts y convertir temporalmente esta bitácora en un videoblog, aunque con el careto que tengo, de momento prefiero mantenerme en el anonimato ;-); la siguiente opción que se me ha ocurrido es la de grabar mis posts como archivos de audio y distribuirlos vía podcast, pero me parecía demasiado flipe y berenjenal para este humilde blog. Todo ello ha hecho que haya decidido olvidarme de los formatos multimedia y siga apostando por el auténtico blogging tradicional, el basado en texto puro y duro. Sin embargo, ¿no hay nada que me pueda ayudar a escribir más rápido, de forma más correcta, sin cometer tantas anchoas? Recuerdo una tecnología denominada speech recognition..., ¿os acordáis? Seguro que sí, aunque aquí tendemos a mezclar y traducir erróneamente (if Wikipedia says...) todo bajo el paraguas genérico del "reconocimiento de voz".

¿Qué ha sido de esto? ¿Se sigue utilizando? ¿Realmente ha funcionado bien alguna vez? ¿Existen librerías o APIs que nos permiten desarrollar aplicaciones de reconocimiento de voz personalizadas? Son muchas preguntas, muchas de ellas sin una respuesta clara, pero voy a intentar comentar mi opinión al respecto.

Por supuesto que se sigue utilizando el speech recognition en muchos campos, sobre todo en aquellos en los que se pretende ordenar y controlar sistemas mediante simples, muy simples comandos de voz: desde instalaciones domóticas, control de ciertos dispositivos en coches hasta el ejemplo más sencillo de llamar a un contacto desde tu smartphone con sólo pronunciar su nombre. Creo que es una tecnología de interacción entre usuarios y máquinas realmente útil (a mí me vendría de perlas...), sin embargo, da la sensación de que esta tecnología lleva años anclada en el tiempo, sin avances ni éxitos notorios que sirvan para afianzar y extender su uso.

Respecto al speech recognition en el PC, sí, hay cosillas, como por ejemplo el Windows Speech Recognition que trae el malogrado Windows Vista, un componente que a priori permite manejar el PC a base de comandos introducidos vía micrófono. Sin embargo, aunque no he probado ni éste ni otros muchos sistemas anteriores de similares características, la sensación que tengo es que son sistemas que no acaban de funcionar de forma fiable, agotando casi siempre la paciencia de los pobres usuarios, que contemplan con tristeza cómo el PC no hace aquello que se le ordena por voz.

También hay soluciones (muchas de ellas comerciales) compatibles con suites ofimáticas que te escriben en documento Word aquello que tú dictas vía micro, pero tampoco son la panacea, de hecho cometen muchos errores y requieren de una pronunciación y tono de voz más estable que el mismísimo Iñaki Gabilondo.

Que sí, que sé que es muy difícil interpretar millones de lenguas y dialectos, cientos de tonos y timbres de voz diferentes y miles de acentos cada cual más peculiar, pero estando en el año 2009, todavía no me puedo creer que este problema no esté satisfactoriamente resuelto de forma global, es decir, sin formatos ni software propietario, con un software multiplataforma que eficazmente entienda y comprenda a la perfección lo que le digo y actúe en consecuencia, ¡aunque sea en inglés!

En cuanto a recursos y software o librerías para personalización de aplicaciones de reconocimiento de voz, haberlas haylas. Por mi .NET background, en su día creo que hice alguna pruebilla dictando y dando órdenes en anglosajón con la librería System.Speech.Recognition de .NET, pero mis tests no fueron para tirar cohetes, de hecho, creo que tenían como simple objetivo demostrar que se podía implementar un simple sistema de reconocimiento de voz sobre Windows XP. Sinceramente no me acuerdo muy bien, por lo que quizás sea una buena oportunidad para adentrarse en las entrañas de esta librería y conocer las problemáticas que presenta este mundillo tan oscuro de primera mano. Eso sí, just for Windows (no creo que Mono lo haya implementado), ¿nada opensource multiplataforma por ahí? Tiene que haber algo..., y si no lo hay, lo construímos ;-).

¿Veis vosotr@s también las aplicaciones de speech recognition y el mundillo del reconocimiento de voz en general tan parado como lo veo yo? ¿Por qué creéis que todavía no hay soluciones 100% fiables a día de hoy? ¿Conoce alguien algún software opensource de speech recognition que evite que mi mano izquierda se asemeje cada día más a la del "Gran Irujo"?

SaludoX.


3 comentarios:

BeLioN dijo...

¿He oído open-source?

Véase Sphinx

Homo libris dijo...

Juassss, mira por donde la operación te ha dado una nueva visión (más práctica) sobre la accesibilidad :)

La verdad es que, salvando aplicaciones de la ONCE, creo que otros desarrollos en este sentido están un tanto parados. Lo que me ha llamado muchísimo la atención es el espacio de nombres de .NET que mencionas... habrá que estudiarlo ;)

Bienvenido una vez más a la blogosfera.

Saludos!!¡¡

Anónimo dijo...

@Belion, ahí te veo raudo y veloz en los temas que te interesan ;-). Sí que me fijé que Sphinx venía en la lista de speech recognition software de la Wikipedia, pero ni llegué a probarlo. Eso sí, visto ahora que tú ya lo conoces, sin duda le tengo que echar un vistazo, porque de ti me puedo fiar, ¿no champion? ;-)

@Mithdraug, ya ves las cosas sobre las que postea uno cuando está "limitadillo", no hay nada como "sufrirlo" en primera persona ;-). Por cierto, yo también me apunto al estudio del namespace System.Speech, a ver si entre los dos vamos descubriendo cosillas, aunque por el momento, voy a probar qué tal funciona el software Sphinx recommended by Big Belion.

Muchas gracias a los dos.

SaludoX.