La tecnología de voz parece finalmente estar hallando su nicho en el mundo digital. El hecho de que los dispositivos nos hablasen no parecía resultar interesante, pues en muchos casos se reducía a una cantidad de palabras y frases en donde no se veía nada de inteligencia.
Pero poco a poco el software de reconocimiento de voz empezó a hacerse popular. Llegaron Siri y Alexa y parece ser que el mundo ahora sí cambió.
DeepSpeech 0.7.0 es una implementación de TensorFlow, usando la arquitectura de DeepSpeech de Baidu, la cual permite hacer reconocimiento automático de voz y que hasta ahora estamos viendo como muy adecuada en una serie de aplicaciones.
DeepSpeech, un proyecto de código abierto
Mozilla ha trabajado en este proyecto, de código abierto, desde el año 2016. Su versión 0.1.0 nació en noviembre del 2017.
Ya para diciembre del 2019, se reportó que se trabajaba en la versión 0.6.0 y que existía un problema, no era compatible hacia atrás, es decir, cada versión obligaba a los desarrolladores a dejar el trabajo hecho anteriormente y adecuarlo a las posibilidades tecnológicas.
Si lo pensamos, esto no es lo común pero quizás no es una mala idea. Por ejemplo, en sistemas operativos tenemos esta herencia de los programas anteriores, que tienen que seguir siendo compatibles al menos por algún tiempo, y esto hace que el avance tenga que depender precisamente de seguir dando soporte a lo anterior en las nuevas versiones.
Claramente, en lo que se refiere a sistemas operativos es casi una obligación actuar así.
Pero regresando a DeepSpeech, Mozilla Research lo que está buscando es crear un motor de reconocimiento del habla que sea simple, abierto y ubícuo.
Esto quiere decir que este motor no debe requerir hardware de servidores para poderse ejecutar, como en el caso de otros desarrollos de redes neuronales.
Esto es lo que Mozilla califica como la simpleza. Por otra parte, busca ser abierto, usando para ello la Licencia Pública de Mozilla y finalmente, busca ser ubícuo, es decir, que el motor pueda ejecutarse en tantas plataformas e idiomas diferentes.
El desarrollo de DeepSpeech
La arquitectura del software se basó originalmente en la desarrollada por Baidu y se presentó en un artículo en el 2014. Hoy el motor de Mozilla diverge en muchos sentidos del original. El núcleo usa una RNN (una red neuronal recurrente), la cual ha sido entrenada con espectrogramas y transcripciones de texto generadas en inglés.
DeepSpeech se compone de dos subsistemas principales: un modelo acústico y un decodificador. El primero es una red neuronal que recibe las características del audio como entras, y las probabilidades de los caracteres de salida.
El decodificador usa un algoritmo de búsqueda que transforma las probabilidades de los caracteres en transcripciones textuales, que es lo que finalmente entrega el sistema.
Las muestras de voz vienen del proyecto de Mozilla, el cual se encuentran desde el inicio del 2019 en algo que le llamaron «Common Voice», lo que se describe como un proyecto de «donación de voz» para mejorar a los asistentes personales.
Los detalles y código de DeepSpeech 0.7.0 pueden encontrarse (así como las versiones anteriores), en el depósito de software de GitHub.