首页
  • GM-3568JHF
  • M4-R1
  • M5-R1
  • SC-3568HA
  • M-K1HSE
  • CF-NRS1
  • CF-CRA2
  • 1684XB-32T
  • 1684X-416T
  • C-3568BQ
  • C-3588LQ
  • GC-3568JBAF
  • C-K1BA
商城
  • English
  • 简体中文
首页
  • GM-3568JHF
  • M4-R1
  • M5-R1
  • SC-3568HA
  • M-K1HSE
  • CF-NRS1
  • CF-CRA2
  • 1684XB-32T
  • 1684X-416T
  • C-3568BQ
  • C-3588LQ
  • GC-3568JBAF
  • C-K1BA
商城
  • English
  • 简体中文
  • GM-3568JHF

    • 一、简介

      • GM-3568JHF 简介
    • 二、快速开始

      • 00 前言
      • 01 环境搭建
      • 02 编译说明
      • 03 烧录指南
      • 04 调试工具
      • 05 软件更新
      • 06 查看信息
      • 07 测试命令
      • 08 应用编译
      • 09 源码获取
    • 三、外设与接口

      • 01 USB
      • 02 显示与触摸
      • 03 以太网
      • 04 WIFI
      • 05 蓝牙
      • 06 TF-Card
      • 07 音频
      • 08 串口
      • 09 CAN
      • 10 RTC
    • 四、应用开发

      • 01 UART读写案例
      • 02 按键检测案例
      • 03 LED灯闪烁案例
      • 04 MIPI屏幕检测案例
      • 05 读取 USB 设备信息案例
      • 06 FAN 检测案例
      • 07 FPGA FSPI 通信案例
      • 08 FPGA DMA 读写案例
      • 09 GPS调试案例
      • 10 以太网测试案例
      • 11 RS485读写案例
      • 12 FPGA IIC 读写案例
      • 13 PN532 NFC读卡案例
      • 14 TF卡读写案例
    • 五、QT开发

      • 01 ARM64交叉编译器环境搭建
      • 02 QT 程序加入开机自启服务
    • 六、RKNN_NPU开发

      • 01 RK3568 NPU 概述
      • 开发环境搭建
    • 七、FPGA开发

      • ARM与FPGA通讯
      • FPGA开发手册
    • 八、其他

      • 01 根目录文件系统的修改
      • 02 系统自启服务
    • 九、资料下载

      • 资料下载

07 音频

1 音频系统概述

GM-3568JHF 开发板配备了完整的音频处理系统,基于 RK3568J 处理器的集成音频控制器和外部 ES8388 音频编解码芯片,提供了多种音频输入输出接口,支持高质量的音频录制和播放功能。

1.1 音频系统架构

RK3568J I2S/PCM ←→ ES8388 Codec ←→ 音频接口
     ↓
   HDMI Audio ←→ HDMI 接口

1.2 技术规格

组件规格
主控音频RK3568J 集成音频控制器
音频编解码ES8388 高性能音频 Codec
数字接口I2S, PCM, SPDIF
采样率8kHz ~ 192kHz
位深度16bit, 24bit, 32bit
信噪比>90dB (ES8388)
THD + N<0.1% @ 1kHz

2 音频接口配置

开发板提供多种音频接口,满足不同应用需求:

音频输入接口

  • 板载 MIC: 内置全向麦克风,适合语音录制
  • 耳机 MIC: 3.5mm 耳机接口集成麦克风输入
  • 线路输入: 支持外部音频设备输入

音频输出接口

  • 耳机输出: 3.5mm 标准耳机接口,支持立体声输出
  • 扬声器输出: 板载扬声器接口,支持单声道输出
  • HDMI 音频: 通过 HDMI 接口输出数字音频
AUDIO

3 声卡设备

3.1 获取录音设备

root@linaro-alip:/# arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: rockchipes8388 [rockchip-es8388], device 0: dailink-multicodecs ES8388 HiFi-0 [dailink-multicodecs ES8388 HiFi-0]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
  • card 0:板载音频处理芯片 rockchip-es8388,该芯片引出了两个录音接口,一个为板载 MIC,一个为耳机 MIC
  • card 0 是在Linux 里注册的设备,我们可以通过应用程序调用这些接口

3.2 获取播放设备

root@linaro-alip:/# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: rockchipes8388 [rockchip-es8388], device 0: dailink-multicodecs ES8388 HiFi-0 [dailink-multicodecs ES8388 HiFi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: rockchiphdmi [rockchip,hdmi], device 0: rockchip,hdmi i2s-hifi-0 [rockchip,hdmi i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
  • card 0 :板载音频处理芯片 rockchip-es8388

  • card 1 :HDMI 声音输出

card 0 和 card 1 是在 Linux 里注册的设备,我们可以通过应用程序调用这些接口

3.3 声卡驱动目录

查看声卡驱动目录

root@linaro-alip:/# ls -l /dev/snd/
total 0
drwxr-xr-x  2 root root       80 Oct 10 17:40 by-path
crw-rw----+ 1 root audio 116,  4 Oct 10 17:40 controlC0
crw-rw----+ 1 root audio 116,  6 Oct 10 17:40 controlC1
crw-rw----+ 1 root audio 116,  3 Oct 10 17:40 pcmC0D0c
crw-rw----+ 1 root audio 116,  2 Oct 10 17:40 pcmC0D0p
crw-rw----+ 1 root audio 116,  5 Oct 10 17:40 pcmC1D0p
crw-rw----+ 1 root audio 116,  1 Oct 10 17:40 seq
crw-rw----+ 1 root audio 116, 33 Oct 10 17:40 timer
  • controlC0:用于声卡控制,C0 表示声卡 0,对应上文的板载音频处理芯片 rockchip-es8388。

  • controlC1:用于声卡控制,C1 表示声卡 1,对应上文的 HDMI 声音输出。

  • pcmC0D0p:用于播放的 pcm 设备,最后面的“p”是 playback 的缩写,表示放音。

  • pcmC0D0c:用于录音的 pcm 设备,最后面的“c”是 capture 的缩写,表示录音

  • pcmC1D0p:用于播放的 pcm 设备,最后面的“p”是 playback 的缩写,表示放音。

  • timer :定时器设备,用于音频播放和录音的时间同步

  • by-path: 保存着设备的对应关系

root@lubancat:~# ls -l /dev/snd/by-path/
total 0
lrwxrwxrwx 1 root root 12 Feb 14 18:11 platform-fd880000.usb-usb-0:1.4:1.2 -> ../controlC2
lrwxrwxrwx 1 root root 12 Feb 14 18:11 platform-hdmi-sound -> ../controlC0
lrwxrwxrwx 1 root root 12 Feb 14 18:11 platform-rk809-sound -> ../controlC1
root@lubancat:~#
  • 可以看到每个 control 之间都有一个对应关系,而这些对应关系正好对应上文的 card 0 , card 1

4 录音与播放

4.1 命令行

录音

录音使用的是 arecord 命令,下面举例说明:


#获取录音设备
arecord -l
#用声卡 0 录制 10s 音频
arecord -d 10 -D hw:0,0 -r 48000 -c 2 -f S16_LE -t wav /data/test_device.wav

参数详解:

  • -d 10 :设置录制时长为 10 秒。
  • -D hw:0,0 :指定音频设备,hw:0,0 表示使用第一个声卡(0)的第一个设备(0)
  • -r 48000 :设置采样率为 48000 Hz(即 48 kHz)
  • -c 2 :设置音频通道数为 2(立体声)
  • -fS16_LE :设置音频格式为 16 位有符号小端格式(Signed 16-bit Little Endian)
  • -t wav :设置输出文件格式为 WAV
  • /data/test_device.wav 指定输出文件的路径和名称

音频播放

#获取播放设备
aplay -l
#用声卡 0 播放音频 5s
aplay -Dhw:1,0 -d5 /data/test_device.wav

参数详解:

  • -D hw:0,0 :指定音频设备,表示使用第一个声卡(0)的第一个设备(0)
  • -d 5 :设置播放时长为 5 秒
  • /data/test_device.wav :指定要播放的音频文件路径

边录边播

利用 arecord 和 aplay 两个工具

#使用 card 0 录制并使用 card 0 进行播放
arecord -f cd -Dhw:0 | aplay -Dhw:0

4.2 桌面端

录音

确保连上网络后,安装录音软件

#安装软件
sudo apt install gnome-sound-recorder

打开软件

AUDIO_2

点击应用左上角的 record 就可以录制了,按 done 结束录音,录音的路径为 /home/linaro/.local/share/org.gnome.SoundRecorder/,如果录制的时候波形图没有东西就要检查以下耳机是否插好。

AUDIO_3

播放音乐

系统自带的软件是 Rhythmbox,若需要其他播放器可自行下载

AUDIO_5

打开后需要将音频 import 进来,如图所示:

AUDIO_6

5 ALSA 高级配置

查看详细音频设备信息

# 查看所有音频设备
cat /proc/asound/cards

# 查看设备详细信息
cat /proc/asound/card0/id
cat /proc/asound/card1/id

# 查看 PCM 设备信息
cat /proc/asound/pcm

# 查看音频控制器信息
amixer -c 0 info
amixer -c 1 info

音频控制和混音

# 查看所有音频控制
amixer -c 0 controls

# 查看音量控制
amixer -c 0 scontrols

# 设置主音量
amixer -c 0 sset 'Master' 80%

# 设置耳机音量
amixer -c 0 sset 'Headphone' 70%

# 设置麦克风增益
amixer -c 0 sset 'Mic' 60%

# 静音/取消静音
amixer -c 0 sset 'Master' mute
amixer -c 0 sset 'Master' unmute

6 常见故障排除

6.1 无声音输出

检查步骤:

# 检查音频设备
aplay -l
lsmod | grep snd

# 检查音量设置
amixer -c 0 scontrols
amixer -c 0 sget Master

# 测试音频输出
speaker-test -c 2 -t wav

# 检查音频服务
pulseaudio --check -v

6.2 录音无声或噪音

解决方案:

# 检查录音设备
arecord -l

# 调整麦克风增益
amixer -c 0 sset 'Mic' 70%
amixer -c 0 sset 'Capture' 80%

# 测试录音
arecord -D hw:0,0 -f cd test.wav

6.3 音频延迟问题

优化配置:

# 减少缓冲区大小
echo 'defaults.pcm.dmix.period_size 512' >> ~/.asoundrc
echo 'defaults.pcm.dmix.periods 2' >> ~/.asoundrc

# 使用低延迟内核
sudo apt-get install linux-lowlatency

6.4 HDMI 音频无输出

检查和修复:

# 检查 HDMI 音频设备
aplay -l | grep HDMI

# 切换到 HDMI 音频输出
pactl set-default-sink alsa_output.platform-hdmi-sound.stereo-fallback

# 测试 HDMI 音频
aplay -D hw:1,0 test.wav
在 GitHub 上编辑此页
上次更新:
贡献者: jxc, zsl
Prev
06 TF-Card
Next
08 串口