Portal    Foro    Buscar    FAQ    Registrarse    Conectarse

Reconocimiento De Voz Contínuo Con Raspberry Pi3+Gambas3+Python3

Reconocimiento De Voz Contínuo Con Raspberry Pi3+Gambas3+Python3
Artículo
Responder citando    Descargar mensaje  
Mensaje Reconocimiento De Voz Contínuo Con Raspberry Pi3+Gambas3+Python3 
 
Hola a todos. Esto que voy a explicar es parte de mi proyecto de robot. Es la parte de que se encarga del reconocimiento de voz.
El proyecto consiste en una especie de araña que usa una Raspberry Pi3+Wolfson/Cirrus Logic Audio Card como cerebro, un arduino que recibe los datos de los sensores y un Torobot 32 servo controller, para controlar servos, como es lógico.
Me voy a centrar en la Raspberry Pi3+Wolfson/Cirrus Logic Audio Card.
Para preparar la Raps, instalé Raspbian Jessie.
Después añadí controladores de la Wolfson/Cirrus Logic Audio Card desde aquí: http://www.horus.com/~hias/cirrus-driver.html (he seguido los pasos que detalla)
Una vez que tenía el hardware a punto, pasé al software...
Software a instalar:
Pico2wave, para convertir un texto a wav.
Play, como reproductor.
Speechrecognition https://pypi.python.org/pypi/SpeechRecognition , instalado tal cual explican aquí.
Y como no, Gambas.

Una vez hecho todo esto, hice una aplicación de consola en gambas, que escucha a través de un servidor socket lo que reconoce python. Una vez reconocido, lo reproduce. La aplicación tal cual está, no hace otra cosa que reproducir lo que entiende de forma contínua. No es gran cosa, pero espero que pueda servir a alguien.
Yo por mi parte, estoy trabajando en Opencv(ya está integrado) y hacer que solo se ponga en modo escucha cuando detecte un rostro, además de montar algún "sistema", que permita interactuar con ordenes de voz tipo sistema inteligente, que no se limite a ordenes del tipo, anda, para, etc...
El archivo python que uso, es una modificación de uno del ejemplo de su página web. Lo cargo en una RamDisk que genero al inicio de la apli, para que vaya mas fluido el sistema por que la microsd provoca un pequeño retraso, ya que la aplicación python la abro y cierro cada vez que la uso y no daba sensación de mantener una "conversación".
2 cosillas, el código se que no es del todo perfecto, No tengo ni idea de python, solo he modificado uno hasta que ha funcionado y el código no se muestra indentado, por lo que para los legos como yo, quedan advertidos.

#!/usr/bin/env python3.4

# NOTE: this example requires PyAudio because it uses the Microphone class

import speech_recognition as sr
import socket

s = socket.socket()
s.connect(("localhost", 8811))
# this is called from the background thread
def callback(recognizer, audio):
    # received audio data, now we'll recognize it using Google Speech Recognition
    try:
        # for testing purposes, we're just using the default API key
        # to use another API key, use `r.recognize_google(audio, key="GOOGLE_SPEECH_RECOGNITION_API_KEY")`
        # instead of `r.recognize_google(audio)`
        texto = recognizer.recognize_google(audio)
        #print("Has dicho, " + texto)
        s.send(texto.encode())
    except sr.UnknownValueError:
        #print('No entiendo.')
        s.send(b"No entiendo.")
    except sr.RequestError as e:
        print("Could not request results from Google Speech Recognition service; {0}".format(e))
        #s.send("No se reciben datos del servicio de reconocimiento de voz.")  
#s.close()
r = sr.Recognizer()
m = sr.Microphone()
with m as source:
    r.adjust_for_ambient_noise(source) # we only need to calibrate once, before we start listening

# start listening in the background (note that we don't have to do this inside a `with` statement)
stop_listening = r.listen_in_background(m, callback)
# `stop_listening` is now a function that, when called, stops background listening

# do some other computation for 5 seconds, then stop listening and keep doing other computations
import time
for _ in range(10): time.sleep(0.1) # we're still listening even though the main thread is doing other things
#stop_listening() # calling this function requests that the background listener stop listening
while True: time.sleep(0.1)
 


Añado el archivo de gambas por si alguien quiere ver mis vergüenzas        
https://mega.nz/#!QZB23BLJ!OB9NyWbXgL7_CH_z0iHnzVvbvq2AbI2K9yyDyNbbrYg

He usado el Wolfson/Cirrus Logic Audio Card, para usar sus pines de audio y ponerle unos altavoces de portátil a la raspberry.
Unas fotos,
 
whats_app_image_2016_09_09_at_12_10_29

whats_app_image_2016_09_09_at_12_10_29_6

whats_app_image_2016_09_09_at_12_10_29_7

Y una archivo de audio de como repite lo que le he dicho:
https://mega.nz/#!9cYAjBpI!9moh63GFa4NFzxxLW23rqdPO_xHuoeO8Ylv3xyxLPLY

Eso es todo, perdonar si entendéis que es una tontería esto que he puesto.
Saludos.



 
celtilander - Ver perfil del usuario Enviar mensaje privado  
celtilander [ Viernes, 09 Septiembre 2016, 12:33 ]
 


Reconocimiento De Voz Contínuo Con Raspberry Pi3+Gambas3+Python3
Comentarios
Responder citando    Descargar mensaje  
Mensaje Re: Reconocimiento De Voz Contínuo Con Raspberry Pi3+Gambas3+Python3 
 
Lo que describís tiene una pinta barbara. Algunas cosas me parecen chino basico pero me dan ganas de comprar un rbp3 y hacer cosas.

Gracias por el aporte.
Saludos.



 
tincho - Ver perfil del usuario Enviar mensaje privado  
tincho [ Viernes, 09 Septiembre 2016, 15:26 ]
Responder citando    Descargar mensaje  
Mensaje Re: Reconocimiento De Voz Contínuo Con Raspberry Pi3+Gambas3+Python3 
 
celtilander:

Una chulada de proyecto... a ver si nos mantienes informados de tus avances.. seguro que a mucha gente le interesa.

Saludos



 
jsbsan - Ver perfil del usuario Enviar mensaje privado  
jsbsan [ Viernes, 09 Septiembre 2016, 20:40 ]
Responder citando    Descargar mensaje  
Mensaje Re: Reconocimiento De Voz Contínuo Con Raspberry Pi3+Gambas3+Python3 
 
tincho escribió: [Ver mensaje]
Lo que describís tiene una pinta barbara. Algunas cosas me parecen chino basico pero me dan ganas de comprar un rbp3 y hacer cosas.

Gracias por el aporte.
Saludos.


+1

Sigue posteando el avance!



 
tercoIDE - Ver perfil del usuario Enviar mensaje privado  
tercoIDE [ Viernes, 09 Septiembre 2016, 22:58 ]
Responder citando    Descargar mensaje  
Mensaje Re: Reconocimiento De Voz Contínuo Con Raspberry Pi3+Gambas3+Python3 
 
Me alegro que el proyecto siga para delante. Es un campo en el que soy un ignorante absoluto y me parece fascinante lo que se puede llegar a hacer.
Buen trabajo.
 



 
shordi - Ver perfil del usuario Enviar mensaje privado  
shordi [ Sabado, 10 Septiembre 2016, 07:28 ]
Responder citando    Descargar mensaje  
Mensaje Re: Reconocimiento De Voz Contínuo Con Raspberry Pi3+Gambas3+Python3 
 
Hola, soy ingeniera en eletronica y nueva en el foro, estoy trabajando en un proyecto de robotica con reconocimiento facial, guiandome con algunas paginas como mirame.net, quisiera que me dieran algunos consejos sobre como estructurar un conteo permanente de las personas que escanea mi robots.



 
última edición por anazareth el Viernes, 24 Agosto 2018, 18:13; editado 1 vez 
anazareth - Ver perfil del usuario Enviar mensaje privado  
anazareth [ Viernes, 24 Agosto 2018, 18:10 ]
Responder citando    Descargar mensaje  
Mensaje Re: Reconocimiento De Voz Contínuo Con Raspberry Pi3+Gambas3+Python3 
 
Eso dependerá de qué tipo de salida genere tu módulo de escaneo: base de datos, ficheros estructurados, etc y de qué quieres hacer con esos datos... y sobre todo ¿Qué entiendes por estructurar?
En otras palabras: como no des más detalles no hay nada concreto que decir.

Por cierto, este no es el lugar adecuado para esta cuestión, deberías abrir un nuevo hilo, que este es para el reconocimiento de voz.

Bienvenida.



 
shordi - Ver perfil del usuario Enviar mensaje privado  
shordi [ Viernes, 24 Agosto 2018, 18:54 ]
Mostrar mensajes anteriores:    
 
Publicar nuevo tema  Responder al tema  Página 1 de 1
 
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 



 

cron