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. 全程不输出任何信息到终端(成功/失败都无提示)

相关推荐
xywww16820 分钟前
大模型 API 选型实战:GPT、Gemini、Claude 接入时该看哪些指标?
运维·服务器·人工智能·python·gpt·langchain
梦想的颜色3 小时前
【Docker原理】Docker 容器一文打尽:生命周期、环境管控、迁移备份、日志进程排查、垃圾清理
运维·docker·容器·容器生命周期·容器日志排查·容器迁移备份·容器进程管理
欢呼的太阳5 小时前
数据库设计Step by Step (10)——范式化
服务器·数据库·oracle
夜雪一千5 小时前
Python enumerate() 函数完整详解:遍历同时获取索引,告别手动计数
服务器·windows·python
donoot6 小时前
Linux系统下图书馆级电子书全自动标准化分类整理完整实施方案
大数据·linux·运维·电子书管理
LuDvei6 小时前
STM32串行通信DMA的使用
stm32·单片机·嵌入式硬件
ITKEY_6 小时前
macOS brew 安装的nginx 文件在哪里?
运维·nginx·macos
2401_854151556 小时前
STM32 I2C 通信 HAL 库踩坑记录
stm32·单片机·嵌入式硬件
Felix-lxd7 小时前
Ubuntu 22.04 配置 Nginx
linux·nginx·ubuntu
Elastic 中国社区官方博客7 小时前
如何比较两个 Elasticsearch 索引并找出缺失的文档
大数据·运维·数据库·elasticsearch·搜索引擎