google云语音转文字休息apireturn空回复
google cloud speech to text rest api return empty response
我尝试使用 google 云语音转文本 API,方法是使用示例页面 (https://cloud.google.com/speech-to-text/)。在我上传我的音频文件 (.m4a)
后它工作正常
然后我尝试使用 rest API 和相同的音频文件调用这些服务,它不起作用。
我得到 200 个空响应。
我用这个信息给 rest API 打电话
POST https://speech.googleapis.com/v1p1beta1/speech:recognize?key=SOME_KEY
body:
{
"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 文档的示例)
const file = fs.readFileSync('FILE_LOCATION')
const audioBytes = file.toString('base64')
阅读文档,我找不到对 Google 文本转语音支持的“.m4a”(Apple Lossless)文件的引用。事实上,恰恰相反。
我的建议是,至少尝试将您的文件转换为 WAV 格式文件并提供。如果可行,请查看您是否无法以这种格式获取原始音频。
参见:
我尝试使用 google 云语音转文本 API,方法是使用示例页面 (https://cloud.google.com/speech-to-text/)。在我上传我的音频文件 (.m4a)
后它工作正常然后我尝试使用 rest API 和相同的音频文件调用这些服务,它不起作用。
我得到 200 个空响应。
我用这个信息给 rest API 打电话
POST https://speech.googleapis.com/v1p1beta1/speech:recognize?key=SOME_KEY
body:
{
"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 文档的示例)
const file = fs.readFileSync('FILE_LOCATION')
const audioBytes = file.toString('base64')
阅读文档,我找不到对 Google 文本转语音支持的“.m4a”(Apple Lossless)文件的引用。事实上,恰恰相反。
我的建议是,至少尝试将您的文件转换为 WAV 格式文件并提供。如果可行,请查看您是否无法以这种格式获取原始音频。
参见: