本文的测试的电脑系统安装的debian9,其它Linux也可以大同小异;
高级Linux声音体系(英语:Advanced Linux Sound Architecture,缩写为ALSA)是Linux内核中,为声卡提供的驱动组件,以替代原先的OSS(开放声音系统)。 一部分的目的是支持声卡的自动配置,以及完美的处理系统中的多个声音设备,这些目的大多都已达到。另一个声音框架JACK使用ALSA提供低延迟的专业级音频编辑和混音能力。
Jaroslav Kysela过去是这个项目的领导者,这个项目开始于为1998年Gravis Ultrasound所开发的驱动,它一直作为一个单独的软件包开发,直到2002年他被引进入Linux内核的开发版本 (2.5.4-2.5.5)[1]。从2.6版本开始ALSA成为Linux内核中默认的标准音频驱动程序集,OSS则被标记为废弃。
ALSA是一个完全开放源代码的音频驱动程序集,除了像OSS那样提供了一组内核驱动程序模块之外,ALSA还专门为简化应用程序的编写提供了相应的函数库,与OSS提供的基于ioctl的原始编程接口相比,ALSA函数库使用起来要更加方便一些。利用该函数库,开发人员可以方便快捷的开发出自己的应用程序,细节则留给函数库内部处理。当然ALSA也提供了类似于OSS的系统接口,不过ALSA的开发者建议应用程序开发者使用音频函数库而不是驱动程序的API。
以上描述引自维基百科:https://zh.wikipedia.org/wiki/ALSA
Linux下查看声卡型号命令
lspci -v|grep Audio
返回:
00:1b.0 Audio device: Intel Corporation Atom Processor Z36xxx/Z37xxx Series High Definition Audio Controller (rev 0c)
Subsystem: ASRock Incorporation Atom Processor Z36xxx/Z37xxx Series High Definition Audio Controller
Linux查看音频设备
cat /proc/asound/cards
返回:
0 [PCH ]: HDA-Intel – HDA Intel PCH
HDA Intel PCH at 0x90710000 irq 90
安装适用ALSA音频工具,查看测试Linux音频设备
安装相关软件包
apt-get install alsa-utils alsa-tools alsa-tools-gui alsamixergui -y
列出音频设备:
arecord -l
List of CAPTURE Hardware Devices
card 0: PCH [HDA Intel PCH], device 0: ALC662 rev1 Analog [ALC662 rev1 Analog] Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 2: ALC662 rev1 Alt Analog [ALC662 rev1 Alt Analog] Subdevices: 1/1
Subdevice #0: subdevice #0
card0是主板自带声卡
录音测试
随意录制一个5s的声音测试一下
arecord -D "plughw:0,0" -f S16_LE -r 16000 -d 5 -t wav file.wav
参数
指令 | 含义 | 本指令含义 |
---|---|---|
-D | 选择设备名称 | 使用系统自带声卡plughw:0,0 |
-f | 录音格式 | S16_LE代表有符号16位小端序 |
-r | 采样率 | 16000是16KHz采样 |
-d | 录音时长 | 录音5秒 |
-t | 录音格式 | wav格式 |
file.wav | 文件名,可以包含路径 | 文件名字叫 file.wav |
播放录音测试
aplay file.wav
转载请注明:楚盟网 » Linux 查看声卡设备并测试录音(ALSA音频工具)