arecord[linux下的录音工具]命令的用法

下面这条命令是Linux系统下使用arecord工具录制音频的指令,用于指定音频设备录制一段WAV格式的音频,并将过程中的输出/错误信息全部丢弃

复制代码
/usr/bin/arecord -D hw:0,0 -d 10 -f cd -r 16000 -c 2 -t wav /tmp/mic_test/test.wav 1>/dev/null 2>&1

核心命令

/usr/bin/arecord:调用录音程序,属于ALSA音频套件,这个是arecord工具的绝对路径,直接调用绝对路径可避免环境变量冲突,确保执行的是系统自带的arecord

| 参数 | 全称/含义 | 说明 |
| -D hw:0,0 | -D = --device(指定录音设备) | hw:0,0 是ALSA音频设备的标识: - hw:表示硬件设备(区别于虚拟设备); - 0,0:第一个0是声卡编号(系统第一块声卡),第二个0是该声卡下的设备编号(第一路录音设备) 作用:指定从系统第一块声卡的第一路硬件设备采集音频 |
| -d 10 | -d = --duration(录制时长) | 10表示录制时长为10秒,到达时长后自动停止录制; 若省略该参数,会一直录制直到手动按ctrl + c终止 |
| -f cd | -f = --format(音频格式) | cd是预设的CD级音频格式,等价于16位深度、44100Hz采样率、立体声; 注意:此处和后面的-r 16000冲突(-r 会覆盖采样率),最终采样率以-r 16000为准。可改用显式格式参数:-f S16_LE(16位小端格式) |
| -r 16000 | -r = --rate(采样率) | 16000表示采样率为16000Hz(16kHz),即每秒采集16000个音频样本; 常见取值:8000Hz(电话音质)、16000Hz(语音识别常用)、44100Hz(CD音质)、48000Hz(专业音频) |
| -c 2 | -c = --channels(声道数) | 2表示录制立体声(双声道) 若设为1则是单声道(mono),适合语音录制,节省存储空间。 |
| -t wav | -t = --file-type(输出文件格式) | wav指定输出文件为WAV格式(无损音频格式); arecord支持的其他格式:raw、voc、au等,WAV是最通用的格式。 |
| /tmp/mic_test/test.wav | 输出文件格式 | 录制的音频将保存到/tmp/mic_test/目录下,文件名为test.wav; 注意:若/tmp/mic_test/目录不存在,命令会执行失败(需提前用mkdir -p /tmp/mic_test创建) |
| 1>/dev/null | 标准输出重定向 | 1代表"标准输出(stdout)",>/dev/null表示将录制过程中的正常输出信息(如进度、采样信息)全部丢弃 /dev/null是Linux的"空设备",写入的数据会被直接丢弃。 |

2>&1 标准错误重定向 2代表"标准错误(stderr)",>&1表示将标准错误信息重定向到"标准输出" 的目标(即/dev/null) 最终效果:录制过程中无论正常输出还是报错信息,都不会显示在终端,也不会留存。

命令的整体逻辑

  1. 调用系统arecord工具,从第一块声卡的第一路硬件设备采集音频

  2. 以16kHz采样率、16位深度、立体声格式,录制10秒音频

  3. 将音频保存为/tmp/mic_test/test.wav(WAV格式)

  4. 全程不输出任何信息到终端(成功/失败都无提示)

相关推荐
A小辣椒1 天前
TShark:Wireshark CLI 功能
linux
A小辣椒1 天前
TShark:基础知识
linux
AlfredZhao1 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao2 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334662 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪2 天前
linux 拷贝文件或目录到指定的位置
linux
大树883 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠3 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质3 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush43 天前
嵌入式linux学习记录十四、术语
linux·嵌入式