我正在尝试使用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))
这种逻辑运作良好,但由于某种原因,转录只返回一分钟的录音并忽略其余部分。
为什么会发生这种情况,有人可以帮助我吗?
答案 0 :(得分:0)
您的代码很难说清楚,但您必须提交同步请求。根据{{3}},长度限制在约60秒。异步请求最多可接受约80分钟。阅读docs文档,了解如何正确构建您正在使用的API请求。
答案 1 :(得分:0)
我对这个问题的研究结果如下
1)Google Speech to Text API专为识别短音频文件而构建。 2)"音频数据"它可以在给定时间内处理是有限的。推得太多,Google会忽略它 3)如果你真的想进入这个,你必须弄清楚如何预处理你的音频文件和"除去"将音频文件转换为可消耗的块。