我正试着通过Sox为我的一个应用程序录制两个不同的麦克风。我目前只是在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麦克风中获得音频。我一直在试着弄清楚哪里出了问题,但任何提示都会很有帮助。
发布于 2018-01-24 17:07:10
您需要指定您正在使用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也可能对您有所帮助。
https://stackoverflow.com/questions/48211939
复制相似问题