gangnam android

gangnam android

martes, 2 de julio de 2013

USO DE TTS CON LA BUSQUEDA DE VOZ DE GOOGLE ANDROID JAVA

Hola amigos, en esta ocasión les traigo un proyecto consistente en la integración del software de búsqueda de google con la integración de las tts, para dar como resultado una aplicación en android java que nos captura lo que escuchamos y que nos responde de acuerdo a lo que le preguntemos. Aunque parezca un poco difícil de creer en este caso no es asi, ya hay sotfware que lo hacen como el sherpa, solo que en esta ocasión estamos limitados a lo que nuestro tiempo nos deje programar para decodificar las frases, bueno sin mas preámbulo empezamos el proyecto.

Acá les dejo todo el programa código y debajo esta su explicación.

http://depositfiles.org/files/gh5vdviqy

La versión del sdk es la 2.3.3 con la que trabajé.

Solo resta darle en el manifest los permisos de usuarios de acceso a Internet y listo.

No se necesita del layout activity debido a que no uso ningún tipo de botón ni de etiqueta.


FUNCIONAMIENTO

- Cuando inicia abre la búsqueda de voz de google, se necesita tener acceso a Internet debido a que el motor esta sobre la web y no sobre nuestro telefono

- El programa tiene una validación, la cual pueden cambiar en este caso, no avanza si no dices la frase "hola penélope".

- Al momento que usamos la búsqueda por voz, el nos regresa como resultado un string, ese string lo decodificamos de la siguiente forma:

1. Se le retira los acentos para hacer mas fácil la decodificacion y así maximizar los procesos
2. Se corta la cadena de caracteres y se guardan en vectores
3. Luego esos vectores son comparados con cada palabra registrada
4. Cuando se obtiene el true de cada palabra llega hacia la función de reconocimiento de frases que consiste en operaciones lógicas and y posterior or.

Para ingresar palabras nuevas hay que crearlas como tipo boolean y luego seguir la estructura de la comparación del if, ahi se entiende fácilmente.

- Luego de obtener eso, se manda una respuesta que se selecciona al azar de opciones creadas para cada pregunta, ejemplo como estas?, respuesta bien gracias, me encuentro bien, etc. Después el sintetizador de voz TTS le responde con preguntas o frase de animo dependiendo la pregunta.

- Use función delay debido a que la reproducción y la búsqueda se hacian en paralelo por lo que no era la forma correcta de hacerlo, otra solución es con la función de la TTS, isSpeaking(), que devuelve un true mientras se esta reproduciendo, pero el problema es que hay que implementar el programa por medio de thread, algo que aun no he hecho.

En fin esto en si es el código y su explicación como dije antes el limite es nuestro tiempo para dedicarle, espero les sea de ayuda, y si hacen algo avanzado con esto espero que me lo retribuyan.

Saludos!!!

No hay comentarios:

Publicar un comentario