我正在使用应用程序“arecord”(在 Arch Linux 下)。我想从麦克风捕获声音并将其保存到磁盘。
这是我的命令:
arecord -f dat -d 2 --channels 1 -D hw:1,0 /tmp/test.wav
这将捕获两秒(-d
->持续时间)的文件,然后将其保存到磁盘。这基本上有效。
我想做的是录制一个“无限”的音轨(没有固定持续时间)并将该曲目立即保存到磁盘。无需等待它完成。因此,如果我在录音时关闭机器(或者停电),音轨将保存在磁盘上直到那一刻。
这可能吗?
答案1
摘自arecord 的手册页:
-d, --duration=#
Interrupt after # seconds. A value of zero means infinity. The default is zero, so if this option is omitted then the record/play‐
back process will run until it is killed.
这是我用来无限录制声音的命令木之房明郎使用 48 kHz 采样率的 USB 麦克风:
arecord --device="hw:1,0" --format=S16_LE --rate=48 rec_$(date "+%F_%H-%M-%S").wav
看这个答案关于如何指定要使用的设备。
要将 WAVE 文件转换为 mp3,您可以使用ffmpeg:
ffmpeg -i rec.wav -acodec mp3 rec.mp3