【问题标题】:Can't record sound with node-record-lpcm16 on windows无法在 Windows 上使用 node-record-lpcm16 录制声音
【发布时间】:2017-07-30 04:24:12
【问题描述】:

我正在构建使用 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 选项更改为其他值并没有改变任何东西。

对于如何解决此问题的任何建议或想法,我将不胜感激。
对不起我的英语

提前谢谢你

【问题讨论】:

  • 您好,想知道您是否解决了这个问题?我得到了同样的错误。谢谢。

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


【解决方案1】:

不久前我遇到了同样的问题。查看“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 录制。只有当我将麦克风添加为设备时它才对我有用,所以我继续将它添加到 lpcm16 中的 index.js 文件中。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-19
      • 2011-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-24
      相关资源
      最近更新 更多