Hola buenas, estoy trabajando con reconocimiento de voz en python y el codigo de el modulo es este:
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)
prueba con esto
texto = recognizer.recognize_google(audio, language = "es-ES")
en es-ES coloca el código de tu país (acento)
Cita de: engel lex en 30 Septiembre 2017, 18:47 PM
prueba con esto
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:
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)
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