9. 音频¶
LubanCat-RV06 板卡板载了两个麦克风输入接口,一个3W的扬声器输出
这三个接口均使用 YTC-A1251-02AB
(1.25mm 1x2P 直插)
MIC1: 左声道差分输入
MIC2: 右声道差分输入
SPK: 左声道声音输出
由于麦克风输入采用的是差分输入,所以在使用时需要注意: - 麦克风输入的信号线必须成对使用,即左声道信号线必须和左声道地线成对使用,右声道信号线必须和右声道地线成对使用 - 麦克风输入的信号线必须和板卡上的接口一一对应,即左声道信号线必须插在 MIC1 接口,右声道信号线必须插在 MIC2 接口
由于扬声器输出采用的是单声道输出,所以在使用时需要注意: - 扬声器输出信号线必须插在 SPK 接口
9.1. 麦克风使能¶
系统启动后,默认只有 MIC1 麦克风输入接口是打开的,如果需要录制右声道的声音,需要手动打开 MIC2 麦克风输入接口
# 打开 MIC2 麦克风输入接口
amixer cset numid=19 5
# 或者
amixer sset 'ADC Mode' DiffadcLR
9.2. 声音录制¶
9.2.1. 获取录音设备¶
1 2 | #获取录音设备
arecord -l
|
运行结果:
1 2 3 4 5 6 | # arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: rv1106acodec [rv1106-acodec], device 0: ffae0000.i2s-rv1106-hifi ff480000.acodec-0 [ffae0000.i2s-rv1106-hifi ff480000.acodec-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
#
|
card0 就是录音设备
9.2.2. 录制声音¶
使用命令 arecord
可以录制声音,录制声音的命令格式如下:
1 | arecord -f cd -Dhw:0 -d 10 test.wav
|
-f cd
: 采样格式为 CD 音质-Dhw:0
: 使用 card0 设备录音-d 10
: 录制 10 秒test.wav
: 录音文件名
录制10秒后就会自动停止,录制的声音保存在 test.wav
文件中,
可以使用 ctrl + c
终止录音,终止后会自动保存录音文件中。
9.3. 声音播放¶
9.3.1. 获取播放设备¶
1 2 | #获取播放设备
aplay -l
|
运行结果:
1 2 3 4 5 6 | # aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: rv1106acodec [rv1106-acodec], device 0: ffae0000.i2s-rv1106-hifi ff480000.acodec-0 [ffae0000.i2s-rv1106-hifi ff480000.acodec-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
#
|
9.3.2. 播放声音¶
使用命令 aplay
可以播放声音,播放声音的命令格式如下:
1 | aplay -Dhw:0 test.wav
|
-Dhw:0
: 使用 card0 设备播放test.wav
: 播放文件名
9.4. 声卡控制¶
9.4.1. 命令行配置¶
命令行配置主要使用 amixer
工具,该工具可以用来配置声卡的各种参数
9.4.1.1. 查看所有控制器¶
1 2 | # 查看所有控制器
amixer controls
|
结果如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | # amixer controls
numid=4,iface=MIXER,name='ADC ALC Left Volume'
numid=5,iface=MIXER,name='ADC ALC Right Volume'
numid=6,iface=MIXER,name='ADC Digital Left Volume'
numid=7,iface=MIXER,name='ADC Digital Right Volume'
numid=8,iface=MIXER,name='ADC HPF Cut-off'
numid=2,iface=MIXER,name='ADC MIC Left Gain'
numid=22,iface=MIXER,name='ADC MIC Left Switch'
numid=3,iface=MIXER,name='ADC MIC Right Gain'
numid=23,iface=MIXER,name='ADC MIC Right Switch'
numid=20,iface=MIXER,name='ADC MICBIAS Voltage'
numid=21,iface=MIXER,name='ADC Main MICBIAS'
numid=19,iface=MIXER,name='ADC Mode'
numid=1,iface=MIXER,name='I2STDM Digital Loopback Mode'
numid=17,iface=MIXER,name='AGC Left Approximate Sample Rate'
numid=18,iface=MIXER,name='AGC Right Approximate Sample Rate'
numid=11,iface=MIXER,name='ALC AGC Left Max Volume'
numid=13,iface=MIXER,name='ALC AGC Left Min Volume'
numid=15,iface=MIXER,name='ALC AGC Left Switch'
numid=9,iface=MIXER,name='ALC AGC Left Volume'
numid=12,iface=MIXER,name='ALC AGC Right Max Volume'
numid=14,iface=MIXER,name='ALC AGC Right Min Volume'
numid=16,iface=MIXER,name='ALC AGC Right Switch'
numid=10,iface=MIXER,name='ALC AGC Right Volume'
numid=26,iface=MIXER,name='DAC Control Manually'
numid=25,iface=MIXER,name='DAC HPMIX Volume'
numid=24,iface=MIXER,name='DAC LINEOUT Volume'
numid=27,iface=MIXER,name='DAC VCM Manually'
#
|
numid
: 参数的编号iface
: 参数的类型name
: 参数的名称
比较重要的参数有:
ADC MIC Left Gain
: MIC1 麦克风输入增益ADC MIC Right Gain
: MIC2 麦克风输入增益ADC MIC Left Switch
: MIC1 麦克风输入开关ADC MIC Right Switch
: MIC2 麦克风输入开关ADC Mode
: 麦克风输入模式DAC LINEOUT Volume
: LINEOUT 输出音量DAC Control Manually
: DAC 输出控制模式
9.4.1.2. 读取控制器的值¶
1 2 | # 读取控制器的值
amixer cget numid=19
|
结果如下:
1 2 3 4 5 6 7 8 9 10 11 | # amixer cget numid=19
numid=19,iface=MIXER,name='ADC Mode'
; type=ENUMERATED,access=rw------,values=1,items=6
; Item #0 'DiffadcL'
; Item #1 'SingadcL'
; Item #2 'DiffadcR'
; Item #3 'SingadcR'
; Item #4 'SingadcLR'
; Item #5 'DiffadcLR'
: values=5
#
|
可以看到 ADC Mode
的值为 DiffadcLR
,即差分输入模式。
9.4.1.3. 设置控制器的值¶
1 2 | # 设置控制器的值
amixer cset numid=19 5
|
设置 ADC Mode
的值为 DiffadcLR
。
运行结果:
1 2 3 4 5 6 7 8 9 10 11 | # amixer cget numid=19
numid=19,iface=MIXER,name='ADC Mode'
; type=ENUMERATED,access=rw------,values=1,items=6
; Item #0 'DiffadcL'
; Item #1 'SingadcL'
; Item #2 'DiffadcR'
; Item #3 'SingadcR'
; Item #4 'SingadcLR'
; Item #5 'DiffadcLR'
: values=5
#
|
9.4.2. 图形化配置¶
图形化配置使用命令 alsa_mixer
,该命令会打开一个图形化界面,可以方便的配置声卡的各种参数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | ┌───────────────────────────── AlsaMixer v1.2.11 ──────────────────────────────┐
│ Card: rv1106-acodec F1: Help │
│ Chip: F2: System information │
│ View: F3:[Playback] F4: Capture F5: All F6: Select sound card │
│ Item: I2STDM Digital Loopback Mode [Disabled] Esc: Exit │
│ │
│ ┌──┐ ┌──┐ ┌──┐ ┌──┐ ┌──┐ │
│ │ │ │ │ │ │ │ │ │▒▒│ │
│ │ │ │ │ │ │ │ │ │▒▒│ │
│ │ │ │ │ │ │ │ │ │▒▒│ >
│ │ │ │ │ │ │ │ │ │▒▒│ >
│ │ │ │ │ │ │ │ │ │▒▒│ >
│ │ │ │ │ │ │ │ │ │▒▒│ >
│ │ │ │ │ │ │ │ │ │▒▒│ >
│ │ │ │ │ │ │ │ │ │▒▒│ >
│ │ │ │ │ │▒▒│ │▒▒│ │▒▒│ >
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │
│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │▒▒│ │
│ Disabled └──┘ └──┘ └──┘ └──┘ Off Work └──┘ │
│ 24 24 32 32 100 │
│ <I2STDM D>ADC ALC ADC ALC ADC Digi ADC Digi ADC HPF ADC MIC ADC MIC │
│ │
└──────────────────────────────────────────────────────────────────────────────┘
|
可以自行探索,这里不过多赘述