一起调试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
相关推荐
lili-felicity6 小时前
CANN异步推理实战:从Stream管理到流水线优化
大数据·人工智能
做人不要太理性6 小时前
CANN Runtime 运行时组件深度解析:任务下沉执行、异构内存规划与全栈维测诊断机制
人工智能·神经网络·魔珐星云
不爱学英文的码字机器6 小时前
破壁者:CANN ops-nn 仓库与昇腾 AI 算子优化的工程哲学
人工智能
晚霞的不甘6 小时前
CANN 编译器深度解析:TBE 自定义算子开发实战
人工智能·架构·开源·音视频
愚公搬代码6 小时前
【愚公系列】《AI短视频创作一本通》016-AI短视频的生成(AI短视频运镜方法)
人工智能·音视频
哈__6 小时前
CANN内存管理与资源优化
人工智能·pytorch
极新6 小时前
智启新篇,智创未来,“2026智造新IP:AI驱动品牌增长新周期”峰会暨北京电子商务协会第五届第三次会员代表大会成功举办
人工智能·网络协议·tcp/ip
island13146 小时前
CANN GE(图引擎)深度解析:计算图优化管线、内存静态规划与异构任务的 Stream 调度机制
开发语言·人工智能·深度学习·神经网络
艾莉丝努力练剑6 小时前
深度学习视觉任务:如何基于ops-cv定制图像预处理流程
人工智能·深度学习
禁默6 小时前
大模型推理的“氮气加速系统”:全景解读 Ascend Transformer Boost (ATB)
人工智能·深度学习·transformer·cann