google-api - 试驾 Speech-to-Text 异步操作 - 无结果
问题描述
我正在尝试 Speech-to-Text API 的长期运行识别方法(https://cloud.google.com/speech-to-text/docs/reference/rest/v1p1beta1/speech/longrunningrecognize)并指定所有需要参数,例如:
{
"audio":
{
"uri": "gs://xyz/blabla.mp3"
},
"config":
{
"languageCode": "en-US",
"encoding": "AMR_WB",
"sampleRateHertz": 16000
}
}
这返回了一个我可以在 get 操作中使用的名称(https://cloud.google.com/speech-to-text/docs/reference/rest/v1/operations/get)。
文档说 get 返回的“操作” JSON 对象将包含我在响应中看不到的参数。
例如,没有“完成”节点。相反,这就是我得到的全部:
{
"name": "xxxxx",
"metadata": {
"@type": "type.googleapis.com/google.cloud.speech.v1.LongRunningRecognizeMetadata",
"progressPercent": 100,
"startTime": "2018-06-08T14:40:54.663240Z",
"lastUpdateTime": "2018-06-08T15:05:01.161911Z"
}
}
知道为什么吗?至少应该返回一个状态,也许是一个错误(https://cloud.google.com/speech-to-text/docs/reference/rest/v1p1beta1/operations#Operation)?
更新:现在我得到了结果。但是服务器问题?这只是暂时的故障吗?
{
"name": "xxxxx",
"metadata": {
"@type": "http://type.googleapis.com/google.cloud.speech.v1.LongRunningRecognizeMetadata …",
"progressPercent": 100,
"startTime": "2018-06-08T14:40:54.663240Z",
"lastUpdateTime": "2018-06-08T15:05:01.161911Z"
},
"done": true,
"error": {
"code": 13,
"message": "Server unavailable, please try again later."
}
}
解决方案
乍一看,您的要求是将不受支持的mp3 格式与受支持的音频编码(AMR_WB) 混合在一起。
让我们假设这种混合物是好的。如果您收到空响应(未返回成绩单且未发生错误),则可能是您文件中的编码错误。检查前面链接中的一些验证步骤,以确定您的声音文件是否有问题,例如 Cloud Speech-to-Text 服务目前仅支持一个音频通道。
要缩小您的问题范围,您可以按照最佳做法转换您的声音文件。将您的文件转码为具有 16,000 Hz 或更高采样率的无损 FLAC 或 LINEAR16 编码就足够了,但是有关完整建议,请阅读先前的链接。
您上次更新中的错误似乎是暂时的,您仍然面临这个问题吗?
如果您的问题在新文件中仍然存在,最好在他们的公共问题跟踪器中报告这种情况。
问候!
推荐阅读
- angular-material - 如何为 Angular Material Table SelectionModel 添加初始选择?
- python - discord.py - 如何向特定成员添加角色?
- javascript - Vue.js:如何使用 id 选择另一个数组中的项目
- django - Django 国际化和本地化而不是 /en 为每种语言使用特定域
- c# - 强制 asp:LoginView 显示带有代码的匿名模板
- java - 无法通过 Java API 从 exec 文件中检索 JaCoCo 覆盖范围
- google-apps-script - 是否可以将 Airbnb 中的数据直接抓取到 Google 表格中?
- algorithm - for循环的时间复杂度?
- angular - 离子 3 中的cordova_not_available
- reactjs - 保留路由之间的状态?