2012-01-31 20 views
6

Tengo un cliente que necesita una aplicación de Android que pueda reconocer los comandos hablados. Por lo que entiendo, la función incorporada de voz a texto en realidad envía datos a los servidores de Google que luego envían una traducción de texto. Este es un problema importante, ya que los datos de voz son extremadamente sensibles (a menos que los datos se cifren cuando se envían desde y hacia Google, pero dudo que estén encriptados).Puede CMU Sphinx configurarse para reconocer ~ 200 palabras

Hay 2 opciones que se me ocurren. Lo primero es convertir voz a texto en Android, aunque parece que sería una operación extremadamente costosa. La segunda posibilidad es hacer que un servidor local convierta los datos por mí (podría encriptar los datos de voz y la traducción cuando se envíen ay desde). ¿Es esto algo que CMU Sphinx podría lograr? Vale la pena señalar que también tendré acceso a un servidor de Asterisk, lo que podría ayudar con esto (no sé).

En realidad, sólo debe haber ~ 200 palabras que necesitan ser reconocidas. Preferiría soluciones de software libre/de código abierto; sin embargo, también estoy abierto a una solución comercial (tal vez FlexT9). Idealmente, puedo enviar la transmisión de audio a alguna parte, recuperar una Cadena que es el texto, y luego puedo analizar y hacer otras cosas con la Cadena.

no he hecho mucho androide o cualquier desarrollo de reconocimiento de voz en el pasado, así que espero que alguien pueda al menos me punto en la dirección correcta. ¡Gracias!

Respuesta

10

CMUSphinx es un conjunto de herramientas de reconocimiento de voz de código abierto se puede utilizar para construir su aplicación. Contiene herramientas, bibliotecas y datos que le permitirán crear una aplicación de voz. Puede obtener más información sobre CMUSphinx en el sitio web anterior.

En Android tiene varias opciones para utilizar CMU Sphinx:

  1. Reconocer audio en el dispositivo. Para eso puedes compilar el motor Pocketsphinx para android. Para detalles see this blog post.

  2. Reconocer de audio en el servidor. Como servidor puede usar Pocketsphinx o Sphinx4. Puede enviar audio en formato de flac comprimido o extraer funciones de reconocimiento de voz en el dispositivo y enviar la transmisión de características al servidor.

CMU Sphinx le proporciona varios modelos acústicos que permitan que se den cuenta de audio en varios idiomas como Inglés, francés, mandarín, alemán, holandés, ruso.

También puede mejorar el resultado del reconocimiento con las herramientas de adaptación.

Si usted tiene alguna pregunta sobre CMU Sphinx que son bienvenidos a ask in our community forums.

4

Fuente cerrada, pero gratuita, son los motores de voz de Microsoft. Para algunos antecedentes, ver What is the difference between System.Speech.Recognition and Microsoft.Speech.Recognition?. Para obtener más información, puede probar https://stackoverflow.com/a/4217638/90236

El SDK completo para Microsoft Server Speech Platform 11 está disponible en http://www.microsoft.com/download/en/details.aspx?id=27226. El motor de voz es una descarga gratuita.

+0

¿Está disponible la solución de Microsoft para Android (la que está sugiriendo) también? – srf

+0

Es solo un componente del lado del servidor. Tendría que crear su propia implementación de cliente para capturar el audio y enviarlo al servidor. –

Cuestiones relacionadas