首页 文章

谷歌语音api无效的识别

提问于
浏览
1

我试图按照这里找到的谷歌语音api的例子

https://cloud.google.com/speech/docs/getting-started

1)我创建了以下json请求文件

{'config':{'encoding':'FLAC','sampleRate':16000,'languageCode':'en-US'},'audio':{'uri':'gs:// cloud-samples-tests /speech/brooklyn.flac'}}

2)验证我的服务帐户

gcloud auth activate-service-account --key-file = service-account-key-file

3)成功获取我的授权令牌gcloud auth print-access-token access_token

4)然后使用以下curl命令curl -s -k -H "Content-Type: application/json" \ -H "Authorization: Bearer access_token" \ _https://speech.googleapis.com/v1beta1/speech:syncrecognize \ -d @ sync-request.json

但我一直得到以下回应

{“error”:{“code”:400,“message”:“无效识别'config':编码错误..”,“状态”:“INVALID_ARGUMENT”}}

我是否需要访问uri gs://cloud-samples-tests/speech/brooklyn.flac的访问权限?问题是什么?

提前致谢..

3 回答

  • 0

    在我看来,这是一个文件格式问题 .

    你必须发送WAV文件而不是FLAC ...

    [不支持FLAC和MP3格式<=>需要在服务器端进行文件转换(代表成本)]

    将音频文件转换为WAV(使用ffmpegavconv),然后重试 .

    你也可以看看here(看一个工作的例子)

  • 0

    对我来说,解决方案是删除“-d @”之间的空格,因此将“-d @ sync-request.json”更改为“-d@sync-request.json” .

    我在这里得到了帮助:https://groups.google.com/forum/#!topic/cloud-speech-discuss/bL_N5aJDG5A . 显然正在读取和处理该文件,但是parms将转到"curl.exe"而不是传递给URL .

  • 0

    我知道答案已经很晚了 . 但是,它可能会帮助其他人,从而引发您的错误 .

    您传递的配置实际上是不正确的 . 属性应该是这样的:

    {
      "config": {
      "encoding": "LINEAR16",
      "sampleRateHertz": 16000,
      "languageCode": "en-US",
      "maxAlternatives": 1,
      "profanityFilter": true,
      "enableWordTimeOffsets": false
    },
      "uri": {
        "content":"<your uri>"
      }
    }
    

相关问题