texto - Reconocimiento de voz continuo Android
tag android studio (6)
Estoy mirando hacer reconocimiento de voz en Android. El programa necesita tener reconocimiento de voz continuo. La biblioteca solo necesita tener unas 10 palabras. He considerado usar la API de Google, 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 usar la biblioteca de reconocimiento de voz de java o hay alguna otra forma de hacerlo?
En resumen
1. Necesita entrada de voz continua
2. 10 palabras al máximo
3. puede entrenar si es necesario
4. descripción general del programa: pantalla de visualización, espera de entrada de voz o entrada táctil, repetición de pantalla de actualización
5. no puede cubrir lo que se muestra en la pantalla
Cualquier ayuda sería apreciada.
Gracias por adelantado
Aquí está la explicación de Oracle de las preguntas frecuentes de Java Speech API .
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 computadora poderosa". También puede configurar el umbral de detección. Los idiomas admitidos actualmente son el inglés de EE. UU. Y algunos otros (francés, español, ruso, etc.). Puedes entrenar a tu propio modelo para tu idioma.
La escucha es simple, usted crea un reconocedor y simplemente agrega la búsqueda de palabras clave:
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());
Qué comandos del archivo 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 activos y ejecutar syncAssets en el inicio de la aplicación.
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 lanza su propio cuadro de diálogo Reconocimiento y le devuelve resultados. Si desea un reconocimiento continuo sin una interfaz de usuario, tendrá que crear esa funcionalidad usted mismo.
Esta es otra manera (si planea usar Phonegap / Cordova).
https://.com/a/39695412/3603128
1) Escucha continuamente.
2) No se muestra (ocupa) en la pantalla.
Tenía los mismos requisitos hace un par de meses y decidí escribir mi propia library .
Creo que debería ajustarse a sus necesidades también;)
Utilice la biblioteca de CMUSphinx :
- Funcionará en modo offline
- Puedes nombrarlo
- Comenzará a escuchar cuando llames su nombre.