一起调试XVF3800麦克风阵列(二)

一、可视化调试波束

上一章我们大概了解了下四个波束,这里官方给我们写了一个脚本,直观的展示了几个波束的运行可视化。

复制代码
python3 xvf_tools.py doa_plot /home/raspberry/host_xvf_control/build/xvf_host --protocol i2c

运行如下,可以清楚看到每一束波形的方向(目前我就是在90度方向说话,输出处理过的波束刚好与beam1重合!):

二、音频输出的路径选择

这里我们继续跟着官方的文档走:

左声道:XVF3800的AEC和波束成形后的输出。

右声道:默认静音。

复制代码
xvf_host --use i2c AUDIO_MGR_OP_L

xvf_host --use i2c AUDIO_MGR_OP_R

如下列表列出了一共12个通道对应不同的子通道选择:

类别 描述
0 没有声音 这是右声道输出的默认设置。
1 原始麦克风数据 - 放大前 0,1,2,3: 特定麦克风通过索引访问,未应用系统延迟。
2 解包麦克风数据 0,1,2,3: 解包的麦克风信号。如果使用打包输入,通过此类别访问打包的麦克风数据。如果没有使用打包输入,这些数据是未定义的。
3 带系统延迟的放大麦克风数据 0,1,2,3: 通过索引访问特定麦克风。此类别提供传递给SHF逻辑核心进行处理的麦克风信号。
4 远端(参考)数据 0: 通过I2S接收的远端数据,若需要,经过采样率转换为16 kHz。
5 带系统延迟的远端(参考)数据 0: 通过I2S接收的远端数据,若需要,经过采样率转换为16 kHz,并应用系统延迟。
6 处理后的数据 0,1: 慢速移动的后处理波束输出,2: 快速移动的后处理波束输出,3: "自动选择"波束;选择前面三个波束中最好的输出,推荐选项用于选择波束形成的输出。
7 AEC残留/ASR数据 0,1,2,3: 指定麦克风的AEC残留,或者指定波束的ASR输出。
8 用户选择的通道 0,1: 目前这些通道复制自动选择波束(类别6,源3),是左声道输出的默认设置。
9 SHF DSP后的通道 0,1,2,3: 用户SHF DSP后的所有输出通道。
10 远端原始数据 0,1,2,3,4,5: 从I2S逻辑核心传递到音频管理逻辑核心的数据。如果外部接口速率为48 kHz,所有源都携带有效数据。如果外部接口速率为16 kHz,仅源0和源1携带有效数据。有关这两个逻辑核心之间接口的信息,请参阅编程指南中的数据平面详细设计部分。
11 带系统延迟的放大麦克风数据(系统延迟前) 0,1,2,3: 通过索引访问特定麦克风。
12 带系统延迟的放大远端(参考)数据 0: 通过I2S接收的远端数据,若需要,经过采样率转换为16 kHz,并应用可配置的固定增益和系统延迟。此类别提供传递给SHF逻辑核心进行处理的参考信号。

如图所示我们看到我们对应的左右的声道为如图文字标注的地方:

要将左声道输出设置为第 4 个原始麦克风信号(无增益),请发出以下命令:

复制代码
xvf_host --use i2c AUDIO_MGR_OP_R 1 3

但是要注意原始音频非常的小,不是没有输出

那么我们需要这么干,先设置增益到100,再输出3通道的索引3即可看到很大的音频(设置增益无法使原始MIC的音频增大,即无法增大通道1的所有索引):

复制代码
xvf_host --use i2c AUDIO_MGR_MIC_GAIN 100

xvf_host --use i2c AUDIO_MGR_OP_R 3 3

使用如下命令可以恢复原来左右声道的默认配置:

复制代码
xvf_host --use i2c AUDIO_MGR_OP_L 8 0

xvf_host --use i2c AUDIO_MGR_OP_R 0 0

三、普通GPIO的输出配置

其中通道0 索引6是红灯,索引7是绿灯

复制代码
xvf_host --use i2c GPO_PORT_PIN_INDEX 0 6

设置占用比(0-100)设置亮度

复制代码
xvf_host --use i2c GPO_PIN_PWM_DUTY 50

关闭

复制代码
xvf_host --use i2c GPO_PIN_PWM_DUTY 0
相关推荐
数智顾问13 小时前
(229页PPT)DG1888某大型制药集团企业数字化转型SAP蓝图设计解决方案(附下载方式)
大数据
&星痕&13 小时前
人工智能:深度学习:0.pytorch安装
人工智能·python·深度学习
AI猫站长13 小时前
快讯|清华&上海期智研究院开源Project-Instinct框架,攻克机器人“感知-运动”割裂核心难题;灵心巧手入选毕马威中国“第二届智能制造科技50”榜单
人工智能·机器人·苹果·具身智能·project·灵心巧手
铁手飞鹰13 小时前
[深度学习]常用的库与操作
人工智能·pytorch·python·深度学习·numpy·scikit-learn·matplotlib
power 雀儿13 小时前
前馈网络+层归一化
人工智能·算法
想放学的刺客13 小时前
单片机嵌入式试题(第30期)全局变量“满天飞“!!!局限性和影响有哪些,什么情况下才不得不使用?
单片机·嵌入式硬件·mcu·物联网·51单片机
数研小生13 小时前
用爬虫数据训练 ChatGPT 行业知识库:从数据采集到模型微调的实战指南
人工智能·爬虫·chatgpt
Guheyunyi13 小时前
什么是安全监测预警系统?应用场景有哪些?
大数据·运维·人工智能·安全·音视频
清 晨13 小时前
AI 代理购物把“流量”变成“答案”,而“可信交付”决定你能不能被选中
大数据·人工智能·跨境电商·跨境·营销策略
Funny_AI_LAB13 小时前
GLM-OCR发布:性能SOTA,超越PaddleOCR-VL-1.5?
人工智能·计算机视觉·语言模型·ocr