从2.6.3迁移到2.7.14¶
版本提升:由 V2.6.3 升级至 V2.7.14 发布日期:V2.7.14 于 2026-06-04 发布 SDK 标识:
SDK_TYPE="ASR_ALG",SDK_SUBVERSION=7,SDK_REVISION=14
1. 升级概述¶
V2.7.14 相比 V2.6.3 在算法效果、OTA 机制、工具链、播放器、脚本及配置项上均有较大变化。请务必按照本指南逐步迁移,避免因配置遗漏或工具版本不匹配导致固件异常。
2. 主要变更一览¶
| 变更类别 | 变更内容 | 影响范围 |
|---|---|---|
| OTA 升级 | 新增 OTA V4.1.5 功能,必须使用新版打包工具(V4.0.5+)生成固件 | 固件打包、升级流程 |
| DOA 算法 | 优化 DOA 准确率与稳定性;提供 4~10 cm 共 7 种距离模型,需显式配置模型与 MIC 距离 | 唤醒/定位模块 |
| 识别效果 | 修正长词(7~8 字)在安静环境下不输出问题;降低误识率;提升识别速度 | 命令词识别 |
| 自然语言处理 | 修正 NLP_MULTI_INTENT 宏开启后单意图自然说模块未初始化的问题(V2.7.12 已修复) |
NLP 配置 |
| AEC 组合 | 修正 any mic + aec 算法组合中 alc 函数禁用接口写错的问题 |
AEC/ALC 配置 |
| 在线功能剥离 | 移除 app_audio_handle 文件夹及相关代码(在线交互功能不再支持) |
工程目录、编译链接 |
| 精简播放器 | 新增 simple_audio_player 组件,SIMPLE_AUDIO_PLAYER_ENABLE 宏控制,节省约 19 KB RAM;默认仍使用老播放器 |
内存规划、播放功能 |
| ADPCM 录音 | 新增 ci_adpcm 组件(ADPCM 压缩录音) |
录音、存储 |
| 打包脚本 | user_code.bat 不再支持固件打包,仅保留在线下载功能 |
开发烧录流程 |
| 分词/命令词 | 修复”防误”或”#”被错误存储的问题,提升有效词条输出准确率 | 词表处理 |
| 工具链更新 | ci-tool-kit.exe 及 cmd_info 表格支持中/英文模型,增加英文模板头 |
模型配置、工具使用 |
| 打包工具 (V4.0.5) | 新增分区表 CRC 校验;支持 OTA V4;增加芯片系列切换提示;优化 CI13LC 启动加速 38ms;增加英文翻译 | 打包流程、启动时间 |
| 新增算法库 | 新增声纹算法库 libbnpu_core_alg_pro_cwsl_vpr.a |
声纹/自学习 |
3. 迁移步骤¶
3.1 备份当前工程¶
- 完整备份现有 SDK 源码、配置文件、自定义词表及模型文件。
3.2 替换 SDK 核心文件¶
- 将 V2.7.14 版本的 SDK 整体覆盖至工程目录(建议用新目录放置,再手动移植自定义修改)。
- 确认
system/sdk_default_config.h中版本信息为SDK_SUBVERSION=7、SDK_REVISION=14、SDK_TYPE="ASR_ALG"。
3.3 更新打包工具¶
- 必须**使用随 SDK 发布的 **打包工具 V4.0.5 或更高版本。
- 旧版打包工具(V4.0.5 之前)无法生成 OTA V4.1.5 兼容的固件,且不支持分区表 CRC 校验。
3.4 配置 DOA 模型与 MIC 距离¶
- V2.7.14 在
external/model/doa(声源定位)/目录下提供 7 种距离模型,必须根据实际硬件麦克风间距选用对应模型:
| MIC 间距 | 模型文件 |
|---|---|
| 4 cm | [60004]nn_dual_mic_doa_4cm_v0004.bin |
| 5 cm | [60004]nn_dual_mic_doa_5cm_v0004.bin |
| 6 cm | [60004]nn_dual_mic_doa_6cm_v0004.bin |
| 7 cm | [60004]nn_dual_mic_doa_7cm_v0004.bin |
| 8 cm | [60004]nn_dual_mic_doa_8cm_v0004.bin |
| 9 cm | [60004]nn_dual_mic_doa_9cm_v0004.bin |
| 10 cm | [60004]nn_dual_mic_doa_10cm_v0004.bin |
- 同时确保代码中
doa_config_t结构体的distance成员与实际硬件麦克风间距一致,否则影响定位精度:
/* DOA 配置示例(components/alg/doa/ci_doa.h) */
typedef struct {
bool alg_enable; /* 算法使能 */
int distance; /* MIC 间距,单位 cm,必须与所选模型一致 */
int min_frebin; /* 最小频点 */
int max_frebin; /* 最大频点 */
int samplerate; /* 采样率 */
int doa_resolut; /* DOA 分辨率 */
} doa_config_t;
/* 配置实例:6cm 间距硬件 */
doa_config_t doa_config = {
.alg_enable = true,
.distance = 6,
.min_frebin = 30,
.max_frebin = 400,
.samplerate = 16000,
.doa_resolut = 5,
};
3.5 检查 NLP 多意图宏¶
- 若开启了
NLP_MULTI_INTENT宏,请确认单意图自然说模块的初始化逻辑已修正(V2.7.12 已修复),无需额外改动,但建议验证初始化顺序。
3.6 确认 AEC/ALC 配置接口¶
- 若使用
any mic + aec组合,检查调用alc禁用函数的代码,旧版接口名称有误,请对照新版 SDK 中的正确函数名进行修正。
3.7 处理在线功能代码¶
- **删除**工程中与在线交互相关的
app_audio_handle文件夹(V2.6.3 位于projects/offline_asr_alg_pro_sample/app/app_audio_handle)。 - 如果您的应用依赖在线功能,请改用”离在线大模型对话 SDK”,本算法 SDK 不再提供支持。
3.8 精简播放器切换(可选)¶
- 默认使用老播放器,若希望节省约 19 KB RAM,可切换至精简播放器。
- 切换方法:在
sdk_default_config.h(或user_config.h)中定义宏并重新编译:
#define SIMPLE_AUDIO_PLAYER_ENABLE 1 /* 1:使用精简播放器(节省内存约19KB) 0:使用老播放器(默认) */
- 精简播放器 API 见
components/simple_audio_player/simple_audio_player.h:
void sap_init(void);
int sap_start_play(uint32_t data_addr, SAP_PLAY_END_CALLBACK play_end_callback);
/* 状态枚举:sap_status_t(SAP_STATE_STARTING / PLAYING / STOPPING / IDLE) */
/* 数据源枚举:sap_src_type_t(SAP_DATA_SRC_FLASH / SAP_DATA_SRC_STREAM) */
- 精简播放器状态与老播放器
audio_play_state_t兼容,播放结束回调等接口可直接对接。
3.9 更新打包脚本¶
user_code.bat脚本已取消打包功能,仅保留在线下载。请使用 ci-tool-kit.exe 或新版打包工具进行固件打包。- 若您的自动化流程依赖该脚本,请相应调整。
3.10 更新 cmd_info 表格与工具¶
- 使用新版
ci-tool-kit.exe重新生成或更新cmd_info表格,确保支持中英文模型及英文模板头。 - 检查词表中是否包含”防误”或”#”等特殊字符,新版已修复存储逻辑,但建议复查词条格式。
3.11 分区表 CRC 校验(新功能)¶
- 新版打包工具会根据分区表自动计算并写入 CRC 校验码,请确保分区表配置正确,否则打包会报错。
- 若需切换芯片系列,工具会弹出提示框,确认后配置重置为默认值(同系列内切换保留配置)。
3.12 重新编译与测试¶
- 清理旧编译产物(
make clean或删除build目录)。 - 重新编译工程,并烧录测试。
- 重点验证:
- DOA 定位精度
- 长词命令词识别
- OTA 升级流程(使用 V4.1.5 协议)
- 播放器功能(若切换)
- 启动时间(若使用 CI13LC,应感知加速)
4. 注意事项¶
- OTA 兼容性:使用 V2.7.14 生成的固件 不兼容 旧版 OTA 协议,若设备端需支持 OTA,必须同步升级 bootloader 及上位机工具。
- DOA 模型强制配置:未正确配置 DOA 模型或 MIC 距离将导致 DOA 功能异常,定位不准或失效。
- 在线功能移除:若误引用
app_audio_handle中的函数,编译将报错,请移除相关代码或改用离在线 SDK。 - RAM 占用变化:精简播放器可节省约 19 KB,但功能有精简(例如不支持某些采样率或格式),请根据实际需求选择。
- 打包工具版本:务必使用 V4.0.5+,旧版本打包的固件可能缺失 CRC 或 OTA V4 头部,导致升级失败。
- CI13LC 启动加速:仅针对 CI13LC 芯片生效,其他芯片无影响。
5. 常见问题¶
Q1:升级后 DOA 输出异常怎么办?
A:首先检查 doa_config_t.distance 是否与硬件 MIC 间距匹配,其次确认加载的模型文件路径是否正确(模型文件名含距离参数,如 [60004]nn_dual_mic_doa_6cm_v0004.bin)。
Q2:编译报错找不到 app_audio_handle 相关头文件?
A:请从工程中彻底删除该文件夹,并移除所有 #include 引用,相关在线功能已不再支持。
Q3:使用旧版打包工具打包后的固件无法 OTA?
A:V2.7.14 强制要求 OTA V4.1.5,必须使用打包工具 V4.0.5 及以上。请更新工具并重新打包。
Q4:如何切换到精简播放器?
A:在 sdk_default_config.h 或编译配置中定义 SIMPLE_AUDIO_PLAYER_ENABLE=1 后重新编译,API 说明见 simple_audio_player.h(sap_init、sap_start_play)。
Q5:user_code.bat 无法打包固件了?
A:是的,该脚本已废弃打包功能,请使用 ci-tool-kit.exe 的打包命令或新版打包工具的 GUI 界面。
6. 技术支持¶
若迁移过程中遇到未覆盖的问题,请提供编译日志、配置文件及硬件环境信息,☞欢迎联系我们获取专业技术团队支持。