从JavaScript捕获音频并使用Google Speech API进行识别

时间:2018-06-30 21:58:16

标签: javascript speech-recognition html5-audio 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?

1 个答案:

答案 0 :(得分:1)

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

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

numChannels是Recorder.js的未记录功能,但显示在its js code中。

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