我正试图通过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麦克风接收音频。我一直在努力摆弄并理解什么是错的,但任何提示都会非常有用。
答案 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