【发布时间】:2018-01-11 16:38:43
【问题描述】:
我正在尝试通过 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 麦克风获取音频。我一直在尝试弄清问题所在,但任何提示都会非常有帮助。
【问题讨论】:
-
我认为仅仅因为你有两个设备并不意味着你有双倍的频道。您需要使用
hw:1,0,0格式指定两个输入文件。所以基本上你有两个输入文件。有关更多详细信息,请参阅此线程sox.10957.n7.nabble.com/Multiple-inputs-with-SOX-td5061.html。 AUDIODEV 是控制设备的环境变量。但我不确定您是否可以在其中指定两个设备。但是在输入中将它们指定为多个文件应该可以。命令格式为sox <fileoptions> file <fileoptions> file <outputoptions> outputfile -
@TarunLalwani 我不确定这意味着什么。我没有输入文件。我有输入设备。所以运行
AUDIODEV=hw:1,0,0 sox -b 32 -e unsigned-integer -r 44100 -c 2 ~/Desktop/tempRecord1.wav ~/Desktop/tempRecording2.wav给我sox FAIL formats: can't open input file/Users/blah/Desktop/tempRecord1.wav': No such file or directory` -
@TarunLalwani 另外,不确定如何在 Mac 上获取那些
hw设备编号。我无法运行aplay -l或aplay -L -
@TarunLalwani : 另外,在 Mac 上使用
sox -r 44100 hw:1,0 -t .ogg ch1_.ogg silence 1 0.1 5% 1 1.0 5% : newfile : restart作为默认麦克风会给我sox FAIL formats: can't open input filehw:1,0': 没有这样的文件或目录`
标签: node.js macos wav microphone sox