微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

对于 MP3 文件,Google Speech to Text 错误:“无效识别 'config':错误编码..”

如何解决对于 MP3 文件,Google Speech to Text 错误:“无效识别 'config':错误编码..”

我正在使用“mic-recorder-to-mp3”节点包在 React Web 应用中录制音频。

我使用 MediaInfo 查看使用此库 (here's a sample file) 生成的音频文件,它显示以下信息:

Audio File Info

所以它似乎没有损坏或任何东西......但是,当我使用以下代码运行 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。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。