Google Speech to Text Error: "Invalid recognition 'config': bad encoding.." for an MP3 file
Google Speech to Text Error: "Invalid recognition 'config': bad encoding.." for an MP3 file
我正在使用“mic-recorder-to-mp3”节点包在 React 网络应用程序中录制音频。
我使用 MediaInfo 查看了使用此库 (here's a sample file) 生成的音频文件,它显示了以下信息:
所以它似乎没有损坏或任何东西......但是,当我使用以下代码将 运行 Google 的 Speech to Text API 时,我得到错误:“无效识别 'config':编码错误..”
const client = new speech.SpeechClient();
//configure the request:
const config = {
enableWordTimeOffsets: true,
sampleRateHertz: 48000,
encoding: 'MP3',
languageCode: 'en-US',
};
const audio = {
content: fs.readFileSync(filename).toString('base64'),
};
const request = {
config: config,
audio: audio,
};
// Detects speech in the audio file
const [response] = await client.recognize(request);
我不明白这里出了什么问题...任何帮助将不胜感激!
我能够重现问题,似乎使用的编码是根本原因,我使用了 gcloud ml speech recognize
命令但没有得到任何响应:
gcloud ml speech recognize gs://MY_BUCKET/audioClip.mp3 --language-code=en-US --encoding=linear16 --sample-rate=48000
{}
之后,我更改了文件的编码:
ffmpeg -i audioClip.mp3 audioClip.wav
然后我又试了一次,瞧:
gcloud ml speech recognize gs://MY_BUCKET/audioClip.wav --language-code=en-US --encoding=linear16 --sample-rate=48000
{
"results": [
{
"alternatives": [
{
"confidence": 0.7809482,
"transcript": "testing testing 1 2 3"
}
]
}
]
}
请考虑根据此 documentation MP3 编码是 Beta 功能,仅在 v1p1beta1 中可用。因此,在将文件发送到 Speech to Text API.
之前,您应该考虑转换文件
我正在使用“mic-recorder-to-mp3”节点包在 React 网络应用程序中录制音频。
我使用 MediaInfo 查看了使用此库 (here's a sample file) 生成的音频文件,它显示了以下信息:
所以它似乎没有损坏或任何东西......但是,当我使用以下代码将 运行 Google 的 Speech to Text API 时,我得到错误:“无效识别 'config':编码错误..”
const client = new speech.SpeechClient();
//configure the request:
const config = {
enableWordTimeOffsets: true,
sampleRateHertz: 48000,
encoding: 'MP3',
languageCode: 'en-US',
};
const audio = {
content: fs.readFileSync(filename).toString('base64'),
};
const request = {
config: config,
audio: audio,
};
// Detects speech in the audio file
const [response] = await client.recognize(request);
我不明白这里出了什么问题...任何帮助将不胜感激!
我能够重现问题,似乎使用的编码是根本原因,我使用了 gcloud ml speech recognize
命令但没有得到任何响应:
gcloud ml speech recognize gs://MY_BUCKET/audioClip.mp3 --language-code=en-US --encoding=linear16 --sample-rate=48000
{}
之后,我更改了文件的编码:
ffmpeg -i audioClip.mp3 audioClip.wav
然后我又试了一次,瞧:
gcloud ml speech recognize gs://MY_BUCKET/audioClip.wav --language-code=en-US --encoding=linear16 --sample-rate=48000
{
"results": [
{
"alternatives": [
{
"confidence": 0.7809482,
"transcript": "testing testing 1 2 3"
}
]
}
]
}
请考虑根据此 documentation MP3 编码是 Beta 功能,仅在 v1p1beta1 中可用。因此,在将文件发送到 Speech to Text API.
之前,您应该考虑转换文件