Tengo una solución que está funcionando bien para tener el reconocimiento de voz y grabación de audio . Aquí está el link a un simple proyecto de Android que creé para mostrar que la solución funciona. Además, puse algunas pantallas de impresión dentro del proyecto para ilustrar la aplicación.
Voy a tratar de explicar brevemente el enfoque que utilicé. Combiné dos características en ese proyecto: Google Speech API y grabación Flac.
Google Speech API se llama a través de conexiones HTTP. Mike Pultz proporciona más detalles sobre la API:
"(...) la nueva API [Google] es una API de transmisión dúplex completa. Lo que esto significa es que realmente utiliza dos conexiones HTTP: una solicitud POST para cargar el contenido como una transmisión fragmentada "en vivo" y una segunda solicitud GET para acceder a los resultados, lo que tiene mucho más sentido para muestras de audio más largas o para la transmisión de audio ".
Sin embargo, esta API necesita recibir un archivo de sonido FLAC para funcionar correctamente. Eso nos lleva a la segunda parte: grabación de Flac
Implementé la grabación de Flac en ese proyecto mediante la extracción y adaptación de algunos códigos y bibliotecas de una aplicación de código abierto llamada AudioBoo. AudioBoo usa código nativo para grabar y reproducir formato flac.
Por lo tanto, es posible grabar un sonido de flac, enviarlo a Google Speech API, obtener el texto y reproducir el sonido que se acaba de grabar.
El proyecto que creé tiene los principios básicos para hacerlo funcionar y se puede mejorar para situaciones específicas. Para que funcione en un escenario diferente, es necesario obtener una clave API de Google Speech, que se obtiene al formar parte del grupo Google Chromium-dev. Dejé una clave en ese proyecto solo para mostrar que está funcionando, pero eventualmente la eliminaré. Si alguien necesita más información al respecto, házmelo saber porque no puedo poner más de 2 enlaces en esta publicación.
¿Sabes si esto se ha incluido desde entonces en la API? Si no, ¿encontró una solución para enviar su propia grabación a Google? – ahsteele
Me pregunto lo mismo. No puedo creer que Android tenga este alto nivel, parece que en realidad hay una falta de API cuando se trata de medios. – Tom
Android no proporcionado. Cualquier biblioteca para hacer esto. – sravan