Ubuntu 下ALSA声卡设备的配置与使用

最近做项目有一个需求,就是对ubuntu下的ALSA声卡进行使用,在摸索了一大圈之后,将所得记录下来,以备后期查看。
首先先插上声卡设备
以下所用的声卡设备皆为3.5mm的耳机测试。
需要使用usb转3.5接口的转接线,下图使用的是绿联的设备。

Ubuntu 下ALSA声卡设备的配置与使用_第1张图片

1. 查看声卡设备

aplay -l  //列出所有的声卡设备

Ubuntu 下ALSA声卡设备的配置与使用_第2张图片
由上图可知,在lubuntu系统之下,card2是声卡设备

arecord -l //列出录音设备

列出录音设备

ll /proc/asound/card2  //查看card2的信息

Ubuntu 下ALSA声卡设备的配置与使用_第3张图片
由上图可知,stream0存放是声卡的信息,因此,我们可以查看一下声卡所支持的格式,比如通道(单声道还是双声道)、支持的采样率等。使用如下指令查看:

cat /proc/asound/card2/stream0

Ubuntu 下ALSA声卡设备的配置与使用_第4张图片

由上图可知,Endpoint: 1 out是输出,即通常所说的扬声器;Endpoint: 2 IN是输入,即通常所说的麦克风。

麦克风支持的是Chanmels为1,即表示为单声道,支持的采样率Rates为48KHz和44.1KHz,位宽是16bit。知道了这些参数,对我们后面的声卡开发很重要。

2. 配置声卡

在我们正式使用声卡之前,先配置一下声卡的参数,因为如果不配置的话,可能不能正确的使用声卡。

终端输入:

pavucontrol   //调用自带的声卡软件

启动软件之后,先配置输出设备
Ubuntu 下ALSA声卡设备的配置与使用_第5张图片
可以戴上耳机调试好声音大小

配置输入设备,选择Microphone,拖动下面的滑条测试声音大小。
Ubuntu 下ALSA声卡设备的配置与使用_第6张图片
Ubuntu 下ALSA声卡设备的配置与使用_第7张图片

3. 录音以及播放

arecord -D "plughw:2,0" -f S16_LE -r 44100 -d 5 -t wav file.wav

参数说明:

指令 参数 说明
-D plughw:2,0 选择设备,2代表card2,0代表subdevice
-r 44100 采样率
-f S16_LE 录音格式,16bit位宽
-d 5 录制5秒
-t wav 输出音频格式为wav
file.wav 保存的音频名称

录制完成之后,可以使用以下指令播放:

aplay file.wav  //播放音频

注意:声卡设备号的获取,可以查看第一节的叙述

在最后在说一句:知道如何获取与应用声卡设备之后,我们可以使用python的PyAudio模块进行编程使用了。或者可以采取Rtmp推流的方式将声音与视频同时推送出去了。

你可能感兴趣的:(ALSA声卡,ubuntu,python)