通过sox从多个频道录制

时间:2018-01-11 16:38:43

标签: node.js macos wav microphone sox

我正试图通过Sox为我的应用程序录制2个不同的麦克风。我目前只是在Mac终端上进行音频录制测试。但是,我只能通过一个麦克风获得音频。

我使用的sox命令是:

sox -b 32 -e unsigned-integer -r 96k -c 2 -d --clobber --buffer $((96000*2*10)) /tmp/soxrecording.wav trim 0 10

这给了我一个好的.wav文件。

我有两个不同的USB麦克风,它们在声音/系统偏好设置中显示为2声道I / P。我尝试使用sox命令执行-c 4以从两个麦克风录制。

sox -b 32 -e unsigned-integer -r 96k -c 4 -d --clobber --buffer $((96000*2*10)) /tmp/soxrecording.wav trim 0 10

然而,我得到一个警告说; sox WARN formats: can't set 4 channels; using 2

我只能从一个usb麦克风接收音频。我一直在努力摆弄并理解什么是错的,但任何提示都会非常有用。

1 个答案:

答案 0 :(得分:0)

您需要指定使用ALSA,然后运行两个不同的SOX命令,并且必须指定每个命令使用的硬件。

请参阅soc, play, rec man page,基本上您可以在启动命令时使用-d, --default-device参数来指定要使用的设备。

像(简化)的东西:

sox -r 44100 -c 2 -e s -t alsa hw:4,0 -d 
sox -r 44100 -c 2 -e s -t alsa hw:3,0 -d 

page和此page也可以为您提供帮助。