CMU Sphinx
From Wikipedia, the free encyclopedia
| Sphinx4 | ||
|---|---|---|
| Información general | ||
| Tipo de programa | Biblioteca de imágenes | |
| Desarrollador | Universidad Carnegie Mellon | |
| Licencia | De estilo BSD[1] | |
| Información técnica | ||
| Programado en | Java | |
| Versiones | ||
| Última versión estable | 5-prealpha (03 de agosto de 2015) | |
| Enlaces | ||
| Pocketsphinx | ||
|---|---|---|
| Información general | ||
| Tipo de programa | Biblioteca de imágenes | |
| Desarrollador | Universidad Carnegie Mellon | |
| Licencia | De estilo BSD | |
| Información técnica | ||
| Programado en | C | |
| Versiones | ||
| Última versión estable | 5-prealpha (2015 de agosto del 05) | |
| Enlaces | ||
CMU Sphinx, también conocido simplemente como Sphinx, es el término general que se utiliza para describir un conjunto de sistemas de reconocimiento de voz desarrollados en la Universidad Carnegie Mellon. Entre ellos se incluyen una serie de reconocedores de voz (Sphinx 2-4) y un entrenador de modelos acústicos (SphinxTrain).
En el año 2000, el grupo Sphinx de Carnegie Mellon se comprometió a publicar en código abierto varios componentes de los reconocedores de voz, entre ellos Sphinx 2 y, posteriormente, Sphinx 3 (en 2001). Los decodificadores de voz incluyen modelos acústicos y aplicaciones de ejemplo. Los recursos disponibles incluyen, además, software para el entrenamiento de modelos acústicos, la compilación de modelos de lenguaje y un diccionario de pronunciación de dominio público, cmudict.
Sphinx abarca una serie de sistemas de software, que se describen a continuación.
Sphinx es un sistema de habla continua y reconocimiento de habla, utiliza el Modelo oculto de Márkov (HMMs) y un lenguaje de modelado estadístico de n-gramas. Fue desarrollado por Kai Fu-Lee. Sphinx interpreta voz hablada en forma continua, reconocimiento de habla de vocabulario amplio.
Sphinx 2
Es un sistema de reconocimiento de habla de alta resolución desarrollado originalmente por Xuedong Huang en Carnegie Mellon, quien liberó su código como software libre con una licencia BSD. Sphinx 2 se centra en el reconocimiento de voz en tiempo real, es adecuado para aplicaciones de lenguaje hablado. Incorpora funciones tales como, la puntería al final, la generación de hipótesis parciales, el cambio dinámico del modelo de lenguaje, entre otras. Se usa en sistemas de diálogo y sistemas de aprendizaje de idiomas.
Sphinx 2 utiliza una representación semi-continua para el modelado acústico (es decir, un único conjunto de gaussianas se utiliza para todos los modelos, con los modelos individuales como un vector de peso durante estas gaussianas).
Puede ser utilizado en los sistemas informáticos basados en PBX como Asterisk. El código de Sphinx 2 también se ha incorporado en una serie de productos comerciales.
Sphinx 3
A diferencia de la versión anterior, que usaba sistema semicontinuo, la versión 3 usa una representación de frecuencia continua HMM y por eso, se ha utilizado principalmente para la alta precisión, no en tiempo real de reconocimiento. La evolución reciente (en los algoritmos y hardware) han hecho que Sphinx funcione "casi" en tiempo real, aunque todavía no es adecuado para las aplicaciones interactivas. Sphinx 3 está en desarrollo y en colaboración con SphinxTrain proporciona acceso a una serie de técnicas de modelado modernas, como LDA / MLLT, MLLR y VTLN, que mejoran la precisión en el reconocimiento.
Sphinx 4
Sphinx 4 es una completa re-escritura de la máquina de Sphinx, con el objetivo de proporcionar un marco más flexible para la investigación en reconocimiento de voz, está escrito íntegramente en lenguaje de programación Java. Sun Microsystems apoya el desarrollo de Sphinx 4 y contribuyó con su experiencia en ingeniería de software al proyecto. Entre los participantes había personas de REAL, MIT y la CMU. Al estar escrito en java puede ser utilizado en una gran diversidad de sistemas operativos y hardware.
Los objetivos actuales de desarrollo incluyen:
- El desarrollo de un nuevo entrenador (modelo acústico)
- Implementación de adaptación de la persona que está hablando (por ejemplo, MLLR)
- Mejora de la gestión de configuración
- La creación de una interfaz gráfica de usuario basada en ConfDesigner.
Pocket Sphinx
Pocket Sphinx es una versión de Sphinx para sistemas embebidos (por ejemplo, basado en un procesador ARM). PocketSphinx está siendo evaluado para desarrollar e incorporar características como la aritmética de coma fija y algoritmos eficientes para el cálculo de modelos mezclados. Puede ser utilizado en muchos equipos portátiles y también en teléfonos móviles.