我正在尝试使用googlespeech-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))
这种逻辑运行良好,但由于某些原因,转录只返回一分钟的记录值,而忽略了其余的部分。在
为什么会这样,有人能帮我吗?在
我对这个问题的发现如下
1)Google语音到文本API是为识别短音频文件而构建的。 2) 它在给定时间内处理的“音频数据”的数量是有限的。推得太多,谷歌就会忽略它 3) 如果你真的想进入这一领域,你就必须弄清楚如何预处理你的音频文件,并将音频文件“分割”成可消费的块。在
很难从代码中判断出来,但必须提交一个同步请求。根据docs,长度限制在~60秒。异步请求最多可接受80分钟。通读APIs and Reference文档,了解如何正确地为所使用的API构造请求。在
相关问题 更多 >
编程相关推荐