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

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

我想用麦克风输入录制 10 秒的音频索克斯。我在文档或其他地方找不到任何示例来说明如何执行此操作。这是我当前用来timeout停止录制的命令。有没有更好的方法?

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

答案1

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

因此,要录制 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

来自 SoX男人

修剪 {位置(+)}

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

相关内容