[PYTHON] Reconocimiento de voz

Iniciado por <Trocutor>, 30 Septiembre 2017, 18:40 PM

0 Miembros y 1 Visitante están viendo este tema.

<Trocutor>

Hola buenas, estoy trabajando con reconocimiento de voz en python y el codigo de el modulo es este:

Código (python) [Seleccionar]

import speech_recognition as sr

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


Vale, me va bien y todo eso tengo todo instalado y lo uso, pero el problema es que como la API es de Google y esta en ingles, al decir por ejeplo :

Abreme el calendario, reconoce que digo :rudimental in Mario o let me get ice cuando le digo: dime que hora es

Hay alguna solcion para esto? (Para que me lo reconozca bien y en español)

engel lex

prueba con esto

Código (python) [Seleccionar]

texto = recognizer.recognize_google(audio, language = "es-ES")



en es-ES coloca el código de tu país (acento)
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

<Trocutor>

Cita de: engel lex en 30 Septiembre 2017, 18:47 PM
prueba con esto

Código (python) [Seleccionar]

texto = recognizer.recognize_google(audio, language = "es-ES")



en es-ES coloca el código de tu país (acento)


Como como? No he entiendido... :rolleyes:

engel lex

fijate que a la linea de reconocedor de google le agregué el parametro lenguaje y le puse es-ES que corresponde a español-España, si vas a usar otro lenguaje o un acento diferente al español (ej peruano) tienes que cambiarle el parametro (ej es-PE)
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

<Trocutor>

Cita de: engel lex en 30 Septiembre 2017, 19:11 PM
fijate que a la linea de reconocedor de google le agregué el parametro lenguaje y le puse es-ES que corresponde a español-España, si vas a usar otro lenguaje o un acento diferente al español (ej peruano) tienes que cambiarle el parametro (ej es-PE)


Muchisimas graciaaaaas ya me lo reconoce en castellano y ahora ya no confunde palabras con el ingles xD

Ahora lo he entendido todo, muchisimas gracias