【问题标题】:google cloud speech to text rest api return empty response谷歌云语音到文本休息 api 返回空响应
【发布时间】:2019-11-07 09:29:16
【问题描述】:

我尝试通过示例页面 (https://cloud.google.com/speech-to-text/) 使用谷歌云语音到文本 API。上传音频文件 (.m4a) 后它工作正常

然后我尝试使用rest API和相同的音频文件调用这些服务,它不起作用。

我得到 200 个空响应。

我用这个信息调用 rest API

发布https://speech.googleapis.com/v1p1beta1/speech:recognize?key=SOME_KEY

正文:

{
  "audio": {
    "content": "base64 audio content"
  },
  "config": {
    "sampleRateHertz": 16000,
    "encoding": "LINEAR16",
    "languageCode": "en-US"
  }
}

但是在https://cloud.google.com/speech-to-text/上,body 有点像这样不同

{
  "audio": {
    "content": "/* Your audio */"
  },
  "config": {
    "enableAutomaticPunctuation": true,
    "encoding": "LINEAR16",
    "languageCode": "en-US",
    "model": "default"
  }
}

不知道为什么调用rest API时不起作用。

请帮忙

更新 =>

我通过此代码读取音频文件(来自 google doc 的示例)

const file = fs.readFileSync('FILE_LOCATION')
const audioBytes = file.toString('base64')

【问题讨论】:

  • 您能否详细说明您提供音频数据的方式?如果您内联提供它,您是否对它进行 base64 编码?如果有,怎么做?
  • @Kolban 我添加了读取文件的例子

标签: google-speech-api google-cloud-speech


【解决方案1】:

阅读文档时,我找不到 Google Text To Speech 支持的“.m4a”(Apple Lossless)文件的引用。事实上,恰恰相反。

我的建议是,至少尝试将您的文件转换为 WAV 格式文件并提供该文件。如果可行,请查看是否无法以这种格式获取原始音频。

见:

【讨论】:

  • 谢谢,我将文件转换为 .wav,现在可以正常使用了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-09
  • 1970-01-01
  • 1970-01-01
  • 2019-05-17
  • 2017-03-08
相关资源
最近更新 更多