我正在构建使用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
选项更改为其他值没有任何改变。如果有任何建议或想法可以解决,我将不胜感激。
对不起我的英语不好
先感谢您
最佳答案
不久前,我遇到了同样的问题。在此链接上查看“ freund17评论于2016年11月23日”:https://github.com/gillesdemey/node-record-lpcm16/issues/8#issuecomment-332175548
将额外的变量添加到node_modules> lpcm16文件夹中的index.js文件后,可以在-d之后添加“麦克风”,例如
'-d','麦克风'
这对我有用。我实际上首先尝试的是尝试使用sox -d waveaudio file.wav命令从sox录制。仅当我将Microphone添加为设备时,它才对我有用,因此我继续将其添加到lpcm16中的index.js文件中。