CMUSphinx PocketSphinx – Reconoce todo (o gran cantidad) de palabras

Antes de intentar usar PocketSphinx para Android, utilicé la API de reconocimiento de voz de Google. No necesité 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 establecer el reconocimiento para una palabra, o para establecer el diccionario (los que están disponibles en el proyecto de demostración tienen solo unas pocas palabras) que el reconocedor cree que estas son las únicas palabras existentes, 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 que reconozca todas las palabras disponibles (o incluso una gran cantidad de ellas)? ¿Tal vez alguien tiene un archivo de diccionario con una gran cantidad de palabras?

Antes de intentar usar PocketSphinx para Android, utilicé la API de reconocimiento de voz de Google. No necesité establecer un nombre de búsqueda o un archivo de diccionario. Simplemente reconoció cada palabra que se dijo.

La API de Google reconoce un gran pero aún limitado grupo de palabras. Durante mucho tiempo no reconoció a “Spotify”. El reconocedor de voz fuera de línea de Google usa aproximadamente 50k palabras como se describe en su publicación .

Solo quiero preguntar: ¿cómo podría establecer algunos nombres de búsqueda, o cómo podría configurarlo para que reconozca todas las palabras disponibles (o incluso una gran cantidad de ellas)? ¿Tal vez alguien tiene un archivo de diccionario con una gran cantidad de palabras?

La demostración incluye reconocimiento de voz de vocabulario grande con un modelo de lenguaje (parte de pronóstico). Hay un modelo de lenguaje más grande para el idioma inglés disponible para descargar, por ejemplo , el modelo de lenguaje 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 instalar en el dispositivo y decodificar en tiempo real. Si desea decodificar el habla en tiempo real con un gran vocabulario, debe transmitir el audio a un servidor. O necesita restringir el vocabulario y el lenguaje a un pequeño subconjunto de inglés genérico. Puede aprender más sobre el reconocimiento de voz en CMUSphinx en el tutorial .