I have tried it on python shell 3.5.8
import speech_recognition as sr
import webbrowser as wb
chrome_path = 'C:/Program Files (x86)/Google/Chrome/Application/chrome.exe
%s'
# obtain audio from the microphone
r = sr.Recognizer()
with sr.Microphone() as source:
print("Please wait. Calibrating microphone...")
# listen for 5 seconds and create the ambient noise energy level
r.adjust_for_ambient_noise(source, duration=5)
print("Say something!")
audio = r.listen(source)
# recognize speech
try:
text = r.recognize_google(audio)
print("I thinks you said '" + r.recognize_google(audio) + "'")
f_text='https://www.google.co.in/search?q=' + text
wb.get(chrome_path).open(f_text)
#except sr.UnknownValueError:
# print("I could not understand audio")
except sr.RequestError as e:
print("error; {0}".format(e))
except Exception as e:
print (e)
File "C:\Users\manoj\AppData\Local\Programs\Python\Python35\lib\site-
packages\speech_recognition\__init__.py", line 858, in recognize_google
if not isinstance(actual_result, dict) or
len(actual_result.get("alternative", [])) == 0: raise UnknownValueError()
speech_recognition.UnknownValueError
try this out
try:
text = r.recognize_google(audio, language = 'en-IN', show_all = True )
print("I thinks you said '" + r.recognize_google(audio) + "'")
f_text='https://www.google.co.in/search?q=' + text
wb.get(chrome_path).open(f_text)
I think this is happen because of noise interrupts algorithm. due to noise it gives UnknownValueError
Try below code.
import speech_recognition as sr
from os import walk
r = sr.Recognizer()
#optional
#r.energy_threshold = 300
def startConvertion(path = 'file.wav', lang = 'en-IN'):
with sr.AudioFile(path) as source:
#print('Fetching File')
audio_file = r.record(source)
print(r.recognize_google(audio_file, language=lang))
startConvertion()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With