speech_recognitionognize_google()无法从美国等其他地区转录印度英语(en-IN)格式的音频

时间:2019-05-14 06:29:04

标签: python-3.x speech-recognition google-speech-api

我有一个印度英语格式的音频文件。当我从本地系统运行以下代码时,该代码可以完美运行并成功转录,但如果我从位于美国地区的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

0 个答案:

没有答案