Audio Driver HAT教程

说明

简介

本产品是基于 Sunrise X3 PI 而设计的音频模块,采用 ES7210 高性能四通道编码芯片、ES8156 高性能立体声音频解码芯片,通过I2C接口控制,I2S接口传输音频。板载标准3.5mm耳机接口,可通过外接耳机播放音乐。板子左右四角各有一个高质量MEMS硅麦克风,可以立体声录音。

产品特性

  • 供电电压:3.3V
  • 音频编码芯片:ES7210
  • 音频解码芯片:ES8156
  • 控制接口:I2C
  • 音频接口:I2S
  • ADC 信噪比:102dB
  • DAC 信噪比:110dB

硬件连接

功能引脚X3_Pi引脚(BCM)描述
3.3V3.3V电源正(3.3V电源输入)
GNDGND电源地
SDAP2I2C数据输入
SCLP3I2C时钟输入
MCLK0P4I2S0主时钟输入
BCLK0P18I2S0位时钟输入
LRCLK0P19I2S0子(帧)时钟输入
SDIO0P20I2S0数据输入/出
MCLK1P26I2S1主时钟输入
BCLK1P0I2S1位时钟输入
LRCLK1P1I2S1子(帧)时钟输入
SDIO1P21I2S1数据输入/出

使用

Boxs仓库-智能语音

环境安装

安装 TogetherROS

sudo apt update
sudo apt install tros

查看TogetherROS是否安装成功

ls /opt/


安装智能语音算法包

sudo apt update
sudo apt install tros-hobot-audio

开始使用

以下建议使用超级用户运行,不然可能出现报错

sudo su
#输入密码

检测硬件环境

i2cdetect -r -y 0



配置TogetherROS环境。

source /opt/tros/setup.bash

从TogetherROS的安装路径中拷贝出运行示例需要的配置文件。(如果以前拷贝过这一步可省略)

cp -r /opt/tros/lib/hobot_audio/config/ .

加载音频驱动,设备启动之后只需要加载一次

bash config/audio.sh

启动

ros2 launch hobot_audio hobot_audio.launch.py



修改语音输入,在对应位置按照格式写入即可

vim config/hrsc/cmd_word.json


普通录音及播放

硬件检测

sudo i2cdetect -r -y 0



加载驱动音频codec(编解码器)和x3音频框架驱动

sudo modprobe es7210
sudo modprobe es8156
sudo modprobe hobot-i2s-dma
sudo modprobe hobot-cpudai
sudo modprobe hobot-snd-7210 snd_card=5

检测是否加载成功

ls /dev/snd



录音

#采集4通道麦克风的录音5秒钟:
sudo tinycap ./4chn_test.wav -D 0 -d 0 -c 4 -b 16 -r 48000 -p 512 -n 4 -t 5
#采集2通道麦克风的录音5秒钟:
sudo tinycap ./2chn_test.wav -D 0 -d 0 -c 2 -b 16 -r 48000 -p 512 -n 4 -t 5

播放

#播放2通道的音频(不支持直接播放4通道录音):
sudo tinyplay ./2chn_test.wav -D 0 -d 1