Речь-в-текст: Невозможно расшифровать длинные аудиофайлы: "google.api_core.future.polling._OperationNotComplete" - PullRequest
0 голосов
/ 24 сентября 2018

Я использую Google Speech-to-Text API для транскрибирования аудио длиной 25 минут.Для этой задачи я использовал код transcribe_async.py , так как он предназначен для длинных аудиофайлов.

Я использую Ubuntu 16.04 и Python 3.5.2.Код, безусловно, работает с аудиофайлами длиной 1 минута.

Сообщение об ошибке показано ниже.Я не могу определить источник проблемы.

Waiting for operation to complete...
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/google/api_core/retry.py", line 177, in retry_target
    return target()
  File "/usr/local/lib/python3.5/dist-packages/google/api_core/future/polling.py", line 74, in _done_or_raise
    raise _OperationNotComplete()
google.api_core.future.polling._OperationNotComplete

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/google/api_core/future/polling.py", line 94, in _blocking_poll
    retry_(self._done_or_raise)()
  File "/usr/local/lib/python3.5/dist-packages/google/api_core/retry.py", line 260, in retry_wrapped_func
    on_error=on_error,
  File "/usr/local/lib/python3.5/dist-packages/google/api_core/retry.py", line 195, in retry_target
    last_exc)
  File "<string>", line 3, in raise_from
google.api_core.exceptions.RetryError: Deadline of 90.0s exceeded while calling functools.partial(<bound method PollingFuture._done_or_raise of <google.api_core.operation.Operation object at 0x7f10bdf7bef0>>), last exception:

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "transcribe_async.py", line 110, in <module>
    transcribe_gcs(args.path, args.outpath)
  File "transcribe_async.py", line 85, in transcribe_gcs
    response = operation.result(timeout=90)
  File "/usr/local/lib/python3.5/dist-packages/google/api_core/future/polling.py", line 115, in result
    self._blocking_poll(timeout=timeout)
  File "/usr/local/lib/python3.5/dist-packages/google/api_core/future/polling.py", line 97, in _blocking_poll
    'Operation did not complete within the designated '
concurrent.futures._base.TimeoutError: Operation did not complete within the designated timeout.

1 Ответ

0 голосов
/ 24 сентября 2018

Эта проблема, кажется, возникла, поскольку для процесса транскрипции требуется более 90 секунд.Я рекомендую вам попытаться увеличить свойство timeout до большего числа, в зависимости от длины аудиофайла, чтобы дать службе достаточно времени для выполнения транскрипции.

Код, который необходимоизменено (строка 81 в transcribe_async.py )

response = operation.result(timeout=90)
...