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.1.4. 查看所有控制器及其值

1
2
# 查看所有控制器及其值
amixer contents

结果很长就不展开了

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     │
│                                                                              │
└──────────────────────────────────────────────────────────────────────────────┘
  • 可以自行探索,这里不过多赘述