首页 > 解决方案 > 从 JavaScript 捕获音频并使用 Google Speech API 识别它

问题描述

我使用https://github.com/mattdiamond/Recorderjs库来捕获音频。

recorder.exportWAV((data)->
        fileReader = new FileReader;
        fileReader.onload = (blob) ->
            blob = blob.target.result;
            send(btoa(blob))
        fileReader.readAsBinaryString(data)
      )

但我收到以下错误:Must use single channel (mono) audio, but WAV header indicates 2 channels.

当我使用时exportMonoWAV,音频质量非常低,识别结果很差。

如何在不损失质量的情况下通过 Mono WAV?

标签: javascriptspeech-recognitionhtml5-audiogoogle-speech-api

解决方案


默认情况下,Recorder.js 录制 2 通道音频(通过复制来自麦克风的单声道)。要改为录制单声道声音(并将大小减半)numChannels:1,请在 Recorder.js 构造函数中使用,如下所示:

var rec = new Recorder(source,{numChannels:1})

numChannels是 Recorder.js 的一个未记录的特性,但出现在它的 js 代码中。

来源(我的文章):https ://addpipe.com/blog/using-recorder-js-to-capture-wav-audio-in-your-html5-web-site/


推荐阅读