Linux 中的 arecord 命令和示例
arecord是用于 ALSA(高级 Linux 声音架构)声卡驱动程序的命令行录音机。它支持多种文件格式和多种设备的多种声卡。它基本上用于使用命令行界面录制音频。
句法:
arecord [flags] [filename]
如果未指定文件名,则它使用标准输入。
选项:
- -h, –help :用于显示帮助信息并退出。
- –version :打印当前版本。
- -l, –list-devices :列出所有声卡和数字音频设备。
- -L, –list-pcms :列出所有已定义的 PCM(脉冲编码调制)。
- -D, –device=NAME :按名称选择 PCM。
- -q –quiet :安静模式。抑制消息(不是声音:)。
- -t, –file-type TYPE文件类型(voc、wav、raw 或 au)。如果省略此参数,则使用 WAVE 格式。
- -c, –channels=# :通道数。默认为一个通道。有效值为 1 到 32。
- -f –format=FORMAT :如果没有给出格式,则使用 U8。
- -r, –rate=# :以赫兹为单位的采样率。默认速率为 8000 赫兹。
- -d, –duration=# : # 秒后中断。
- -s, –sleep-min=# :睡眠的最小滴答声。默认是不睡觉。
- -M, –mmap :对音频流使用内存映射 (mmap) I/O 模式。如果未设置此选项,则将使用读/写 I/O 模式。
- -N, –nonblock :在非阻塞模式下打开音频设备。如果设备忙,程序将立即退出。
注意:它包含我们通常不需要的各种其他选项。如果您想了解更多信息,只需在终端上运行以下命令即可。
arecord --help
公认的采样格式是:S8 U8 S16_LE S16_BE U16_LE U16_BE S24_LE S24_BE U24_LE U24_BE S32_LE S32_BE U32_LE U32_BE FLOAT_LE FLOAT_BE FLOAT64_LE FLOAT64_BE IEC958_SUBFRAME_LE IEC958_SUBFRAME_BE MU_LAW A_LAW IMA_ADPCM MPEG GSM特殊S24_3LE S24_3BE U24_3LE U24_3BE S20_3LE S20_3BE U20_3LE U20_3BE S18_3LE S18_3BE U18_3LE U18_3BE G723_24 G723_24_1B G723_40 G723_40_1B DSD_U8 DSD_U16_LE DSD_U32_LE DSD_U16_BE DSD_U32_BE
注意:其中一些可能在选定的硬件上不可用。
例子:
- 通过 arecord 录制音频(它将录制 5 秒的 U8 格式和名为 sample.mp3 的 mp3 类型的音频):
- 现在我们将演示录音的真实感觉。
- 现在我们将使用 aplay 命令播放录制的音频。(麦克风输入关闭。)