speech_recognition распознавать_google () не может транскрибировать аудио в формате индийского английского (en-IN) из других регионов, таких как США - PullRequest
0 голосов
/ 14 мая 2019

У меня есть аудиофайл в формате индийского английского. Когда я запускаю следующий код из локальной системы, этот код работает отлично и успешно транскрибирует, но если я запускаю тот же фрагмент кода из AWS, который является регионом США, он выдает следующее исключение.

Я пытался включить код языка в распознавать_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

И для целей тестирования я использовал прокси-сервер США в моей локальной системе и выдает ту же ошибку. Я думаю, что ссылка на API Google перенаправляет или принимает код языка по умолчанию на основе источника, откуда поступает запрос. Это игнорирует код языка.

Есть идеи, как это решить.

Окружающая среда:

Ubuntu 16.04 LTS

питон 3,5

распознавание речи 3.8.1

...