У меня есть аудиофайл в формате индийского английского. Когда я запускаю следующий код из локальной системы, этот код работает отлично и успешно транскрибирует, но если я запускаю тот же фрагмент кода из 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