android - CMUSphinx PocketSphinx: reconoce todas(o una gran cantidad) de palabras
dictionary pocketsphinx-android (2)
Antes de intentar usar PocketSphinx para Android, usaba la API de reconocimiento de voz de Google. No necesitaba establecer un nombre de búsqueda o un archivo de diccionario. Simplemente reconoció cada palabra que se dijo.
La API de Google también reconoce un conjunto de palabras grande pero aún limitado. Durante mucho tiempo no pudo reconocer "Spotify". El reconocedor de voz sin conexión de Google utiliza alrededor de 50 mil palabras como se describe en su publication .
Solo quiero preguntar, ¿cómo podría establecer algunos nombres de búsqueda, o cómo podría configurarlo para reconocer todas las palabras disponibles (o incluso una gran cantidad de ellas)? ¿Quizás alguien tiene un archivo de diccionario con una gran cantidad de palabras?
La demostración incluye un amplio reconocimiento de vocabulario con un modelo de lenguaje (parte del pronóstico). Hay un modelo de idioma más grande para el idioma inglés disponible para descargar, por ejemplo , el modelo de idioma genérico En-US .
El código simple para ejecutar el reconocimiento es así:
recognizer = defaultSetup()
.setAcousticModel(new File(assetsDir, "en-us-ptm"))
.setDictionary(new File(assetsDir, "cmudict-en-us.dict"))
.getRecognizer();
recognizer.addListener(this);
// Create keyword-activation search.
recognizer.addNgramSearch(NGRAM_SEARCH, new File(assetsDir, "en-us.lm.bin"););
// Start the search
recognizer.startListening(NGRAM_SEARCH);
Sin embargo, no son fáciles de encajar en el dispositivo y decodificar en tiempo real. Si desea decodificar el habla en tiempo real con un vocabulario amplio, necesita transmitir audio a un servidor. O necesita restringir el vocabulario y el idioma a un pequeño subconjunto de inglés genérico. Puede obtener más información sobre el reconocimiento de voz en CMUSphinx en el tutorial .
Antes de intentar usar PocketSphinx para Android, usaba la API de reconocimiento de voz de Google. No necesitaba establecer un nombre de búsqueda o un archivo de diccionario. Simplemente reconoció cada palabra que se dijo.
Ahora, en PocketSphinx, necesito hacerlo. Pero solo puedo encontrar cómo configurar el reconocimiento de una palabra, o configurar el diccionario (los que están disponibles en el proyecto de demostración tienen solo unas pocas palabras) que el reconocedor piensa que estas son las únicas palabras, lo que significa que si alguien dice algo similar, El reconocedor cree que es la palabra que figura en el diccionario.
Solo quiero preguntar, ¿cómo podría establecer algunos nombres de búsqueda, o cómo podría configurarlo para reconocer todas las palabras disponibles (o incluso una gran cantidad de ellas)? ¿Quizás alguien tiene un archivo de diccionario con una gran cantidad de palabras?
Actualización, en 2019 recomiendo a todos que prueben la biblioteca Kaldi en Android. Puedes encontrar la demo here . En realidad, es un gran reconocedor de vocabulario que se ejecuta en tiempo real (70k palabras en LM).