Google Speech to Text API不适用于超过一分钟的音频文件

时间:2017-01-14 20:26:57

标签: python google-speech-api

我正在尝试使用Google Speech to Text API转换具有以下属性的音频文件

1)原始文件 2)采样率:16000 3)比特率:16 4)音频类型:单声道

我使用以下Python代码来获取文本文件

service_request = service.speech().asyncrecognize(
        body={
            'config': {
                'encoding': 'LINEAR16',  # raw 16-bit signed LE samples
                'sampleRate': 16000,  # 16 khz
                'languageCode': 'en-US',  # a BCP-47 language tag
            },
            'audio': {
                'uri':'gs://xxxxxxxxx/english.raw'
                }
            })
    response = service_request.execute()
    print(json.dumps(response))

这种逻辑运作良好,但由于某种原因,转录只返回一分钟的录音并忽略其余部分。

为什么会发生这种情况,有人可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

您的代码很难说清楚,但您必须提交同步请求。根据{{​​3}},长度限制在约60秒。异步请求最多可接受约80分钟。阅读docs文档,了解如何正确构建您正在使用的API请求。

答案 1 :(得分:0)

我对这个问题的研究结果如下

1)Google Speech to Text API专为识别短音频文件而构建。 2)"音频数据"它可以在给定时间内处理是有限的。推得太多,Google会忽略它 3)如果你真的想进入这个,你必须弄清楚如何预处理你的音频文件和"除去"将音频文件转换为可消耗的块。