代码之家  ›  专栏  ›  技术社区  ›  MoB

试乘语音到文本异步操作-无结果

  •  0
  • MoB  · 技术社区  · 7 年前

    我正在尝试语音到文本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返回的“operation”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."
      }
    }
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   rsantiago    7 年前

    乍一看你的请求是混合了一个不支持的 mp3 format 与受支持的 audio encoding (AMRYWB)。

    假设这种混合物是好的。如果您收到一个空的响应(没有返回转录本,也没有发生错误),可能是您的文件中的编码是 wrong . 检查前面链接中的一些验证步骤以确定声音文件是否有问题,例如云语音到文本服务当前仅支持一个音频通道。

    为了缩小问题,可以将声音文件转换为 best practices . 将您的文件转码到采样率为16000赫兹或更高的无损flac或linear16编码就足够了,但是对于整个建议,请阅读前面的链接。

    上次更新时出现的错误似乎是暂时的,你还面临这个问题吗?

    如果新文件的问题仍然存在,最好在 public issue tracker .

    当做!