需要帮助语音转文本,多次重试始终失败

时间:2019-08-09 15:38:53

标签: google-cloud-speech

我使用谷歌语音文本API从音频中获取字幕,但是当音频太长(通常超过60分钟)时,它将失败太多次重试。它说:google.api_core.exceptions.GoogleAPICallError:无重试太多,放弃。

有人可以帮我吗?

我尝试了很多次,当音频文件少于60分钟时,就可以了。

client = speech.SpeechClient()

# Loads audio into memory.
audio = types.RecognitionAudio(uri=gcs_uri)
config = types.RecognitionConfig(
    encoding=enums.RecognitionConfig.AudioEncoding.OGG_OPUS,
    sample_rate_hertz=48000,
    language_code='en-US',
    enable_word_time_offsets=True,
    enable_automatic_punctuation=True)

# Detects speech in the audio file
operation = client.long_running_recognize(config, audio)
print('Waiting for operation to complete...')
# Get the feedback from Google Cloud API
operation.add_done_callback(callback)
time.sleep(30)
#metadata = operation.metadata
# Every 30 seconds to get back one response
percentile(operation, 30)

response = operation.result(timeout=None)

1 个答案:

答案 0 :(得分:0)

这是operation.result()调用引发的异常。 operation.result()调用的内部计数器溢出。 尝试在调用operation.result()之前先轮询operation.done()。 operation.done()是非阻塞调用。 希望在将来的google.cloud.speech库版本中可以解决此问题。