一起调试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
相关推荐
共创splendid--与您携手18 分钟前
AI读取前端项目生成skill.md
前端·人工智能·ai
gis分享者1 小时前
AI数字营销实测体验,GEO效果查询功能体验
人工智能·csdn·geo·数字营销·实测体验·效果查询
莱歌数字1 小时前
轻出20%性能:三维拓扑优化如何重塑无人机电子设备散热格局
人工智能·科技·制造·cae·散热
猿小猴子2 小时前
主流 AI IDE 之一的「DeepSeek-Reasonix 」介绍
人工智能·ai·deepseek·reasonix
装不满的克莱因瓶2 小时前
链式法则如何传递参数误差 —— 深入理解神经网络中的梯度传播
人工智能·python·深度学习·神经网络·数学·机器学习·ai
Anastasiozzzz2 小时前
从有限状态机到智能体图:传统 FSM 与 Agent Graph的演进
java·人工智能·python·ai
程序员cxuan8 小时前
为每个任务配一套 harness:Claude Code 里的动态工作流
人工智能
程序员cxuan8 小时前
Claude Fable 5 来了
人工智能·后端·程序员
云边云科技_云网融合8 小时前
云边云科技亮相 2026 WOD 制造业数智化博览会 云网融合赋能制造焕新
人工智能·科技·安全·制造
Σίσυφος19008 小时前
激光三角 光平面标定-多高度误差分析
人工智能·计算机视觉·平面