node.js - 无法识别语音错误 : Error occurred while processing 'audio.wav' . 文件中的 WAV header 无效,未找到 RIFF

标签 node.js azure whatsapp azure-cognitive-services azure-speech

我从 WhatsApp 捕获了一条语音消息,并使用 Node js 将其保存为 wav 文件。但是我使用 azure 语音传递此 wav 文件进行语音翻译,以文本 JavaScript sdk 它没有显示任何内容,并且还尝试将此文件放入演示应用程序,在 azure 演示应用程序( azure demo app )中,我收到错误“无法识别语音错误:发生错误”处理“audio.wav”时。文件中的 WAV header 无效,未找到 RIFF”。

converted audio file information

编码代码

            var encoder = new base64.Base64Encode();
            var b64s = request(options).pipe(encoder);
            var strBase64 = yield getStream(b64s);
            const fs = require('fs');
            const wavUrl = 'data:audio/wav;codecs=pcm;base64,' + strBase64;
            const buffer = Buffer.from(wavUrl.split('base64,')[1], // only use encoded data after "base64,"
            'base64');
            fs.writeFileSync('./audio.wav', buffer);
            

有人对此有任何想法吗

最佳答案

  • 出现此问题的原因可能是 JavaScript SDK 中的 WAV header 大小限制。
    您可以拉取请求来提高此限制 microsoft/cognitive-services-speech-sdk-js#328
  • 或者在某些情况下,您只需将音频采样率从 48kHz 转换为 16kHz 即可解决该问题。
  • 引用此Github link了解更多信息

关于node.js - 无法识别语音错误 : Error occurred while processing 'audio.wav' . 文件中的 WAV header 无效,未找到 RIFF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72027409/

相关文章:

node.js - 在 node.js 中包含一个 .js 文件

c# - 仅获取容器中 Azure blob 文件的所有名称?

azure - 无法初始化 Microsoft Azure 存储模拟器 SDK2.8

android - SQLite 数据库中的表情符号

Android 共享元素转换 : Transforming an ImageView from a circle to a rectangle and back again

javascript - puppeteer:在继续下一行之前等待 N 秒

node.js - 使用 Nodemailer 从 Zohomail 发送邮件时出现连接超时错误

azure - Azure 应用服务的间歇性部署问题

android - 如何在共享意向列表中的 WhatsApp 条目上默认预设焦点

javascript - 表达 "Cannot GET/query"错误