Python 谷歌语音到文本API不适用于超过一分钟的音频文件
我正在尝试使用GoogleSpeech-to-Text API转换具有以下属性的音频文件 1) 原始文件 2) 抽样率:16000 3) 比特率:16 4) 音频类型:单声道 我使用以下Python代码来获取文本文件Python 谷歌语音到文本API不适用于超过一分钟的音频文件,python,google-speech-api,Python,Google Speech Api,我正在尝试使用GoogleSpeech-to-Text API转换具有以下属性的音频文件 1) 原始文件 2) 抽样率:16000 3) 比特率:16 4) 音频类型:单声道 我使用以下Python代码来获取文本文件 service_request = service.speech().asyncrecognize( body={ 'config': { 'encoding': 'LINEAR16', # raw 16-b
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))
这种逻辑运作良好,但出于某种原因,转录只返回一分钟的记录,而忽略了其余部分
为什么会发生这种情况,有人能帮我吗?很难从您的代码中分辨出来,但您必须提交一个同步请求。根据,长度限制为约60秒。异步请求最多可接受约80分钟。通读文档,了解如何正确组织您对所使用API的请求。我对这个问题的发现如下 1) GoogleSpeech-to-Text API是为识别短音频文件而构建的。 2) 它在给定时间内可以处理的“音频数据”数量是有限的。推得太多,谷歌就会忽略它
3) 如果你真的想进入这个领域,你必须弄清楚如何预处理你的音频文件,并将音频文件“分割”成可消费的块 嗨,Matt,我很担心这一点,但我正在使用“AsyncRecognite”方法进行api调用。我还将等待响应收到“完成”,然后再发布结果。