无法在Windows上使用node-record-lpcm16录制声音

时间:2017-07-30 04:24:12

标签: node.js windows sox google-speech-api

我正在构建使用Google-Cloud-API进行语音识别的应用。 正如它here所说,它需要node-record-lpcm16来录制语音 该库需要安装sox。在Mac上它工作正常,但在Windows上运行没有错误,但在1秒后停止录制。 我已经安装了二进制文件,它提供了文档和添加到PATH变量的文件夹路径。

初​​始化:

const recognizeStream = speech.createRecognizeStream(request)
    .on('error', reject)
    .on('data', data => // process data);

  record
    .start({
      sampleRateHertz,
      threshold: 0.1,
      verbose: true,
      recordProgram: 'sox',
      silence: '1.0',
    })
    .on('error', reject)
    .on('end', resolve)
    .pipe(recognizeStream);

这是Error: spawn sox ENOENT之类的错误。但是在安装SOX后它已经错过了 我还没有找到任何建议如何修复或调试它。

silence选项更改为其他值并没有改变任何内容。

我会感激任何建议或想法如何解决这个问题 对不起我的英文

提前谢谢

2 个答案:

答案 0 :(得分:0)

我有一段时间遇到同样的问题。请看2016年11月23日“freund17评论”对此链接的评论:https://github.com/gillesdemey/node-record-lpcm16/issues/8#issuecomment-332175548

将额外的变量添加到node_modules>中的index.js文件之后lpcm16文件夹,你可以在-d之后添加“麦克风”,如

' - d','麦克风'

这对我有用。我实际上首先尝试使用sox -d waveaudio file.wav命令从sox录制。当我添加Microphone作为设备时它才对我有用,所以我继续将它添加到lpcm16中的index.js文件中。

答案 1 :(得分:-2)

尝试使用node-record-lpcm16安装sox。 使用此命令安装sox:npm install sox