📜  Linux 中的 arecord 命令和示例

📅  最后修改于: 2022-05-13 01:57:32.812000             🧑  作者: Mango

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 命令播放录制的音频。(麦克风输入关闭。)