我有一个印度英语格式的音频文件。当我从本地系统运行以下代码时,该代码可以完美运行并成功转录,但如果我从位于美国地区的AWS运行同一段代码,则会引发以下异常。
我试图将语言代码包含在identify_google()中,但存在相同的问题。
def recording():
r = sr.Recognizer()
file = sr.AudioFile('qa_full_recording.wav')
with file as source:
r.adjust_for_ambient_noise(source, duration = 0.5) # for removing noise
audio = r.record(source) #remove the 'duration' argument to transcribe complete audio file
txt = r.recognize_google(audio, language='en-IN')
text = repr(txt)
return text
我得到的例外情况
speech = r.recognize_google(audio, language = 'en-IN')
File "/Library/Python/2.5/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
出于测试目的,我在本地系统中使用了美国代理服务器,并给出了相同的错误。我认为Google api链接正在根据来自请求的来源重定向或采用默认语言代码。它忽略了语言代码。
任何想法如何解决这个问题。
环境:
Ubuntu 16.04 LTS
python 3.5
语音识别3.8.1