Este artículo utiliza URL simples , que no son informativas y son vulnerables a la pérdida de enlaces . ( agosto de 2022 ) |
Versión estable | 5-prealpha / 3 de agosto de 2015 ( 03-08-2015 ) |
---|---|
Escrito en | Java |
Sistema operativo | Multiplataforma |
Tipo | Biblioteca de imágenes |
Licencia | Estilo BSD [1] |
Sitio web | cmusphinx.github.io/wiki/ |
Versión estable | 5-prealpha / 5 de agosto de 2015 ( 05-08-2015 ) |
---|---|
Escrito en | do |
Sistema operativo | Multiplataforma |
Tipo | Biblioteca de imágenes |
Licencia | Estilo BSD |
Sitio web | cmusphinx.github.io/wiki/ |
CMU Sphinx , también llamado Sphinx para abreviar, 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 modelos acústicos (SphinxTrain).
En 2000, el grupo Sphinx de Carnegie Mellon se comprometió a convertir en código abierto varios componentes de reconocimiento de voz, incluidos Sphinx 2 y, posteriormente, 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 el entrenamiento de modelos acústicos, 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 reconocimiento de voz continua e independiente del hablante que utiliza modelos acústicos ocultos de Markov ( HMM ) y un modelo de lenguaje estadístico de n-gramas . Fue desarrollado por Kai-Fu Lee . Sphinx presentaba la viabilidad del reconocimiento de vocabulario amplio e independiente del hablante en voz continua, posibilidad que estaba en disputa en ese momento (1986). Sphinx solo tiene interés histórico; ha sido reemplazado en rendimiento por versiones posteriores. Un artículo de archivo [2] describe el sistema en detalle.
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 funcionalidad como puntos finales, generación de hipótesis parciales, cambio dinámico de modelo de lenguaje, 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 de Sphinx 2 también se ha incorporado a varios productos comerciales. Ya no se encuentra en desarrollo activo (excepto para 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.
Sphinx 2 utilizó una representación semicontinua para el modelado acústico (es decir, se utiliza un único conjunto de gaussianas para todos los modelos, con modelos individuales representados como un vector de peso sobre estas gaussianas). Sphinx 3 adoptó la representación HMM continua predominante 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 aún 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).
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 aportó su experiencia en ingeniería de software al proyecto. Entre los participantes se encontraban personas de MERL, MIT y CMU . (Los lenguajes admitidos actualmente son C, C++, C#, Python, Ruby, Java y JavaScript).
Los objetivos de desarrollo actuales incluyen:
Una versión de Sphinx que se puede utilizar en sistemas integrados (por ejemplo, basados en un procesador ARM ). PocketSphinx se encuentra en desarrollo activo e incorpora características como aritmética de punto fijo y algoritmos eficientes para el cálculo GMM .