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

问题描述:

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

初始化:

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选项更改为其他值并没有改变任何内容。

我会很感激任何意见或想法如何解决这个问题。
对不起,我的英语

预先感谢您

+0

嗨,只是想知道你是否解决了这个问题?我收到了同样的错误。谢谢。 – Towerss

尝试使用节点记录lpcm16安装袜。 使用此命令来安装sox:npm install sox

+0

您能否指出*为什么这解决了OP问题? –

我以前有过同样的问题。看看“freund17评论于2016年11月23日”评论此链接:https://github.com/gillesdemey/node-record-lpcm16/issues/8#issuecomment-332175548

在你的node_modules> as

'-d','Microphone'

这对我有效。我实际上首先尝试的是使用sox -d waveaudio file.wav命令从sox进行记录。它只适用于我将麦克风添加为设备的情况,因此我继续将它添加到lpcm16中的index.js文件中。