如何更改 SoX 的录音设备?

Posted

技术标签:

【中文标题】如何更改 SoX 的录音设备?【英文标题】:How can I change the recording audio device of SoX? 【发布时间】:2020-01-28 02:23:20 【问题描述】:

标题中:如何更换SoX的录音设备?

我使用的是 MacOS(安装了自制软件)。

我通过一个名为node-audiorecorder 的Node.js 库与SoX 进行交互,该库记录声音;让我知道是否有更好的解决方案可以用于将音频从特定输入设备录制到 .wav 文件。

编辑:为了清楚起见,我们不是在谈论从默认输入设备记录输入。

【问题讨论】:

如果您使用此信息更新您的问题会有所帮助...我的笔记本电脑是 linux 所以这可能不适用于 osx 但是添加将运行您的代码的用户名到组音频sudo usermod -aG audio $USER 然后重新启动...在终端问题arecord -l 中列出所有可用的音频设备... arecord 是一个 alsa 实用程序...该列表是否显示您感兴趣的替代音频设备? sox 的美妙之处在于它也可以直接在终端上执行......一旦你从终端上进行竞标,那么你就知道 nodejs 也能做到这一点 我不能在 macos 上使用arecord。感谢您的评论! 【参考方案1】:

构造函数中有一个设备选项。

const AudioRecorder = require('node-audiorecorder');


const options = 
  program: `sox`,
  device: null, // Recording device you want to use.

;

let audioRecorder = new AudioRecorder(options);

【讨论】:

当我尝试使用这种连接设备的方法时,在 .wav 文件中,它输出的输出与您通过运行 man sox 获得的输出完全相同。 当我在选项中设置“设备”属性并指定输出时,输出的wav文件的内容与sox手册页中的内容相同,是的。感谢您的评论。 你如何指定输出?介意分享你的代码吗? 看起来模块写错了:github.com/RedKenrok/node-audiorecorder/issues/… 必须运行不同的命令来指定设备

以上是关于如何更改 SoX 的录音设备?的主要内容,如果未能解决你的问题,请参考以下文章

使用音频工具 sox,我如何确定立体声录音是不是实际上是单声道?

如何在 Windows 中更改默认播放和录制设备名称?

在没有音频设备的情况下使用 SoX vad

如何使用 sox 从命令行录制音频

枚举 NAudio 中的录音设备

c#录音功能怎么实现?