我正在构建使用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文件中。

08-07 14:01