Reconocimiento de voz continua Android
Estoy buscando hacer reconocimiento de voz en android. El programa necesita tener reconocimiento de voz continua. La biblioteca sólo tiene que ser de unas 10 palabras. He considerado el uso de Googles api, pero no creo que funcione. (No puedo tener nada cubriendo la pantalla). He estado buscando en otras formas, pero nada parece que va a funcionar. ¿Es posible utilizar la biblioteca de reconocimiento de voz de java, o hay alguna otra manera de hacer esto?
En resumen
1. Necesidad de entrada de voz continua
2. 10 palabras al máximo
3. puede entrenar si es necesario
4. vista general del programa – pantalla de visualización, espera para la entrada de voz o toque, repita la pantalla de actualización
5. No se puede cubrir lo que se muestra en la pantalla
- Cómo configurar el idioma en el reconocimiento de voz en Android?
- Android: grabación de voz y grabación de audio
- Android Offline Speech Recognition muestra un solo resultado?
- Comando de voz de vidrio más cercano a la lista dada
- Android: reconocimiento de voz
Cualquier ayuda sería apreciada.
Gracias por adelantado
- API de control de voz - alta precisión en frases específicas
- ¿El reconocedor de voz de Google en Android necesita Internet?
- ¿Utilizar voz-a-texto fuera de línea en Android 4.1 (Jelly Bean) de mi aplicación?
- Hacer que el teléfono escuche constantemente la entrada de voz
- ¿Puedo hacer público el API de reconocimiento de voz fuera de línea de android?
- Reconocimiento de voz activado por palabra clave en android
- ¿Cómo puedo leer mediante programación qué reconocimiento de voz está seleccionado en Android?
- ¿Cómo se activa una entrada de micrófono en el emulador de Android
Aquí está la explicación de Oracle de Java Speech API Preguntas frecuentes .
Creo que tendrías que capturar audio directamente desde el micrófono del teléfono y transmitirlo a tu propio servicio de reconocimiento. Las API de reconocimiento de Google se crean como una Intención que inicia su propio diálogo de reconocimiento y le proporciona resultados posteriores. Si desea un reconocimiento continuo sin una interfaz de usuario, tendrá que crear esa funcionalidad usted mismo.
CMUSphinx ha implementado recientemente la escucha continua en la plataforma Android. Puedes encontrar la demo en la página wiki
Puede configurar una o varias palabras clave para escuchar, la palabra clave predeterminada es "oh poderoso equipo". También puede configurar el umbral de detección. Los idiomas actualmente soportados son inglés de los EEUU y pocos otros (francés, español, ruso, etc). Usted puede entrenar su propio modelo para su lengua.
Escuchando es simple, usted crea un reconocedor y apenas agrega la búsqueda de la palabra clave que localiza:
recognizer = defaultSetup() .setAcousticModel(new File(modelsDir, "hmm/en-us-semi")) .setDictionary(new File(modelsDir, "lm/cmu07a.dic")) .setKeywordThreshold(1e-5f) .getRecognizer(); recognizer.addListener(this); recognizer.addKeywordSearch(KWS_SEARCH_NAME, KEYPHRASE); switchSearch(KWS_SEARCH_NAME);
Y definir un oyente:
@Override public void onPartialResult(Hypothesis hypothesis) { String text = hypothesis.getHypstr(); if (text.equals(KEYPHRASE)) // do something }
En lugar de una sola frase clave puede especificar una ruta de archivo de comandos en un sistema de archivos:
recognizer.addKeywordSearch(KWS_SEARCH, new File(assetsDir, "commands.lst").toString());
Que comandos file commands.lst
contienen comandos uno por línea:
oh might computer ok google hello dude
Para poner este archivo en el sistema de archivos puede ponerlo en los activos y ejecutar syncAssets en el inicio de la aplicación.
Aquí está otra manera (si usted está planeando utilizar Phonegap / Cordova).
https://stackoverflow.com/a/39695412/3603128
1) Escucha continuamente.
2) No muestra (ocupa) en la pantalla.
- ¿Cómo hacer que el dispositivo Android siempre esté en modo despertar?
- Android SimpleOnGestureListener.onFling obtener un objeto nulo MotionEvent