CMU Sphinx , también llamado Sphinx en breve, es el término general para describir un grupo de sistemas de reconocimiento de voz desarrollados en la Universidad Carnegie Mellon . Estos incluyen una serie de reconocedores de voz (Sphinx 2 - 4) y un entrenador de modelo acústico (SphinxTrain).
Lanzamiento estable | 5-prealpha / 3 de agosto de 2015 |
---|---|
Escrito en | Java |
Sistema operativo | Multiplataforma |
Tipo | Biblioteca de imágenes |
Licencia | Estilo BSD [1] |
Sitio web | cmusphinx |
Lanzamiento estable | 5-prealpha / 5 de agosto de 2015 |
---|---|
Escrito en | C |
Sistema operativo | Multiplataforma |
Tipo | Biblioteca de imágenes |
Licencia | Estilo BSD |
Sitio web | cmusphinx |
En 2000, el grupo Sphinx de Carnegie Mellon se comprometió con el código abierto de varios componentes de reconocimiento de voz, incluidos Sphinx 2 y más tarde Sphinx 3 (en 2001). Los decodificadores de voz vienen con modelos acústicos y aplicaciones de muestra. Los recursos disponibles incluyen, además, software para la formación de modelos acústicos, compilación de modelos lingüísticos y un diccionario de pronunciación de dominio público , cmudict .
Sphinx incluye varios sistemas de software, que se describen a continuación.
Esfinge
Sphinx es un sistema de reconocimiento de voz continua independiente del hablante que utiliza modelos acústicos de Markov ocultos ( HMM ) y un modelo de lenguaje estadístico de n-gramas . Fue desarrollado por Kai-Fu Lee . Sphinx presentó la viabilidad del reconocimiento de vocabulario extenso de habla continua e independiente del hablante, cuya posibilidad estaba en disputa en ese momento (1986). La esfinge es de interés histórico únicamente; ha sido reemplazado en rendimiento por versiones posteriores. Un artículo de archivo [2] describe el sistema en detalle.
Esfinge 2
Un reconocedor rápido orientado al rendimiento, desarrollado originalmente por Xuedong Huang en Carnegie Mellon y lanzado como código abierto con una licencia de estilo BSD en SourceForge por Kevin Lenzo en LinuxWorld en 2000. Sphinx 2 se centra en el reconocimiento en tiempo real adecuado para aplicaciones de lenguaje hablado . Como tal, incorpora funcionalidades como apuntar al final, generación de hipótesis parciales, cambio de modelo de lenguaje dinámico, etc. Se utiliza en sistemas de diálogo y sistemas de aprendizaje de idiomas. Se puede utilizar en sistemas PBX basados en computadora como Asterisk . El código Sphinx 2 también se ha incorporado a varios productos comerciales. Ya no se encuentra en desarrollo activo (salvo para el mantenimiento de rutina). El desarrollo actual del decodificador en tiempo real se está llevando a cabo en el proyecto Pocket Sphinx . Un artículo de archivo [3] describe el sistema.
Esfinge 3
Sphinx 2 usó una representación semicontinua para el modelado acústico (es decir, se usa un solo conjunto de gaussianos para todos los modelos, con modelos individuales representados como un vector de peso sobre estos gaussianos). Sphinx 3 adoptó la representación HMM continua prevalente y se ha utilizado principalmente para el reconocimiento de alta precisión y no en tiempo real. Los desarrollos recientes (en algoritmos y en hardware) han hecho que Sphinx 3 sea "casi" en tiempo real, aunque todavía no es adecuado para aplicaciones interactivas críticas. Sphinx 3 está en desarrollo activo y, junto con SphinxTrain, proporciona acceso a una serie de técnicas de modelado modernas, como LDA / MLLT, MLLR y VTLN, que mejoran la precisión del reconocimiento (consulte el artículo sobre Reconocimiento de voz para obtener descripciones de estas técnicas).
Esfinge 4
Sphinx 4 es una reescritura completa del motor Sphinx con el objetivo de proporcionar un marco más flexible para la investigación en reconocimiento de voz, escrito íntegramente en el lenguaje de programación Java. Sun Microsystems apoyó el desarrollo de Sphinx 4 y contribuyó con su experiencia en ingeniería de software al proyecto. Los participantes incluyeron individuos en MERL, MIT y CMU .
Los objetivos de desarrollo actuales incluyen:
- desarrollo de un nuevo entrenador (modelo acústico)
- implementación de la adaptación del hablante (por ejemplo, MLLR)
- mejorar la gestión de la configuración
- crear una interfaz de usuario basada en gráficos para el diseño de sistemas gráficos
PocketSphinx
Una versión de Sphinx que se puede utilizar en sistemas integrados (por ejemplo, basado en un procesador ARM ). PocketSphinx está en desarrollo activo e incorpora características como aritmética de punto fijo y algoritmos eficientes para el cálculo GMM .
Ver también
Referencias
enlaces externos
- Página de inicio de CMU Sphinx
- El repositorio de Sphinx en Github debe considerarse la fuente definitiva para el código
- SourceForge aloja versiones y archivos más antiguos
- NeXT en Campus Fall 1990 (Este documento tiene formato postscript comprimido con gzip.) Universidad Carnegie Mellon - Avances en el reconocimiento de voz y la gestión de documentos , págs. 12-13