我正在构建使用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
选项更改为其他值并没有改变任何内容。
我会感激任何建议或想法如何解决这个问题 对不起我的英文
提前谢谢
答案 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