如何使用 SoX 录制 10 秒的音频?

shr*_*hrx 4 audio sox audio-recording

我想用SoX从我的麦克风输入中录制 10 秒的音频。我还没有在文档或其他地方找到任何示例来说明如何做到这一点。这是我当前timeout用于停止录制的命令。有没有更好的方法来做到这一点?

timeout 10 sox -b 32 -e unsigned-integer -r 96k -c 2 -d --clobber --buffer $((96000*2*10)) /tmp/soxrecording.wav
Run Code Online (Sandbox Code Playgroud)

小智 12

有点晚了,但如果有人有同样的问题,您必须使用修剪“效果”来录制一定长度的音频。

因此,要录制 10 秒的音频,只需在命令末尾附加 trim 0 10,例如,

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

来自 SoX

修剪{位置(+)}

从音频中剪切部分。可以给出任意数量的职位;在到达第一个位置之前,音频不会发送到输出。然后效果在每个位置复制和丢弃音频之间交替。为第一个位置参数使用值 0 允许从音频的开头进行复制。

  • 迟到总比不到好 :) (2认同)