跳转至

从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=7SDK_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.execmd_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=7SDK_REVISION=14SDK_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. 注意事项

  1. OTA 兼容性:使用 V2.7.14 生成的固件 不兼容 旧版 OTA 协议,若设备端需支持 OTA,必须同步升级 bootloader 及上位机工具。
  2. DOA 模型强制配置:未正确配置 DOA 模型或 MIC 距离将导致 DOA 功能异常,定位不准或失效。
  3. 在线功能移除:若误引用 app_audio_handle 中的函数,编译将报错,请移除相关代码或改用离在线 SDK。
  4. RAM 占用变化:精简播放器可节省约 19 KB,但功能有精简(例如不支持某些采样率或格式),请根据实际需求选择。
  5. 打包工具版本:务必使用 V4.0.5+,旧版本打包的固件可能缺失 CRC 或 OTA V4 头部,导致升级失败。
  6. 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.hsap_initsap_start_play)。

Q5:user_code.bat 无法打包固件了?
A:是的,该脚本已废弃打包功能,请使用 ci-tool-kit.exe 的打包命令或新版打包工具的 GUI 界面。


6. 技术支持

若迁移过程中遇到未覆盖的问题,请提供编译日志、配置文件及硬件环境信息,☞欢迎联系我们获取专业技术团队支持。