跳转至

从2.2.7迁移到3.0.19

CI13XX_SDK_LLM_AIOT 从 2.2.7 迁移到 3.0.19,主要修改功能如下:

1. 算法使能机制(重要变更)

V3.0.19 起**取消 CI_ALG_TYPE 单值选择方式**,算法功能改由公共配置文件 system/user_alg_config.mk 中独立的 USE_xxx 开关控制(该文件由各工程 project_file/makefile 直接 include,并按 ifeq 转成 -D 编译宏):

配置项 说明
USE_ASR ASR 识别(除事件检测外其他功能都依赖识别,默认开启)
USE_ANY_MIC 任意 MIC 识别(双麦)
USE_AEC 回声消除(单/双麦可用)
USE_CWSL 离线命令词自学习
USE_NN_DENOISE NN 深度降噪
USE_NN_VAD NN 语音活性检测算法
USE_GCC_DOA / USE_NN_DOA GCC DOA / NN DOA(当前仅支持 GCC DOA)
USE_IIS_RECORD IIS 采音
USE_REF_IN_FROM_INNER_CODEC 双麦算法时使用模拟右麦作参考信号(置 1 后 makefile 向两个核传递 -DREF_IN_FROM_INNER_CODEC=1)

2. 双核与 BNPU 核算法工程

  • BNPU 核算法改为**源码工程**形式随包提供:components/bnpu_core_alg_pro(V3.0.19 由 projects 移入 components),编译产出单一运行体 libs/ci130x_asr_alg_bnpu.a,取代 V2.2.7 中按算法组合预编译的 libbnpu_core_alg_pro_*.a;
  • BNPU 工程内目录:src/(main.c、nuclear_com_task_bnpu.c、user_config.h)、lds/(ci130x_asr_alg_bnpu.lds、_temp)、project_file/(makefile、source_file.prj、宏快照 config.a),V3.0.19 起还包含 firmware/user_code/ 产物目录;
  • MCU 核链接脚本统一为 projects\<工程名>\lds\ci130x_asr_alg_mcu.lds(配套 ci130x_asr_alg_mcu_temp.lds 模板),取代 V2.2.7 的 ci130x_alg_pro_aec_denoise_nn.lds 等四个组合脚本;
  • V3.0.19 新增算法公共接口 components/ci_common/ci_alg_common_api.h/.c:ci_common_create()、upsample_linear_interp()(线性插值升采样)、downsample_process()(低通滤波降采样),三个模板工程以源码方式编译该 .c,同时新增预编译库 libs/libci_common.a;
  • 新增 system/platform_config_bnpu.c、utils/common_tail_bnpu.mk、utils/common_tail_mcu.mk、utils/common_temp.lds、utils/parse_user_alg_config_mk.lua。

3. NN 降噪

  • 新增 NN 降噪功能(USE_NN_DENOISE)与 NN 软件省内存方案;
  • 新增**降噪强度 beta 系数**(denoise_beta,范围 0.0 < beta <= 1.0,1.0 为默认降噪强度)与**降噪强度自适应模式**(DENOISE_STRENGTH_ADAPT_ENABLE,配合 NN 噪声估计模块,按噪声能量分区在 beta 上下限之间取值);
  • 修复降噪强度 beta 系数未生效、降噪采音出现频繁杂音的问题;
  • 降噪模型最终替换为 ANS1-061(firmware/dnn/[60003]ANS1-061.bin),并同步调整 VAD 参数;external\model\nn_denoise 目录在 V3.0.19 中已去除中文括号(原 nn_denoise(深度降噪));

4. NN VAD

-USE_NN_VAD,算法库 libtvad.a,原 AUDIO_VAD_CHECK_ENABLE 与 AI_DOA_OUT_TYPE 相关配置方式调整; - 新增 NN VAD 参数宏: - NN_VAD_SENSITIVITY:灵敏度等级 0/½(低/中/高); - NN_VAD_FRONT_PORCH:后窗口大小,VAD_ON→VAD_END 最多持续帧数(20~40 帧,过小会导致停顿即结束)(V3.0.19 由 NN_VAD_END_DELAY 更名); - NN_VAD_BACK_PORCH:前端回退帧数(默认 25 帧 ≈ 400ms)(V3.0.19 由 PCM_ALG_ROOLBACK_FRAME_LEN 更名); - NN_VAD_VALID_NUM:VAD_ON 状态至少满足的有效帧数; - NN_VAD_VALID_CHECK_MODE:语音有效性检查模式,1-前置检查(等待判断语音有效后回退已存录音再上传)/ 2-后置检查(优先实时上传,检查有效性后通知 WIFI 端,建议降低灵敏度并关闭云端响应超时);

  • 其余 VAD 宏在 V3.0.19 中的调整:VAD_TIMEOUT_CHECK → VAD_TIMEOUT_CHECK_ENABLE、VAD_FORCE_OVER_NUM_TIME → VAD_TIMEOUT_VALUE;VAD_ON_MIN_NUM(VAD 有效最短帧数)已废弃(源码注释为“暂不使用”);

  • POST_MIN_CNT 默认值调整为 2(位于 system/sdk_default_config.h,可在 1~3 之间调整:1 提升识别率但误识增加,3 误识最低但识别率下降);

  • AEC 处理时不进行降噪处理,并同时输出两路不同参数的数据(一路给 VAD、一路给 ASR);修复识别慢 300 ms 问题。

5. DOA 与 AEC

  • 新增 GCC_DOA_OUT_TYPE:0-周期输出角度、1-唤醒词和命令词都输出角度(取代 V2.2.7 的 AI_DOA_OUT_TYPE);NN DOA 对应 NN_DOA_OUT_TYPE;
  • AEC 最终参数更新;新增 AEC 自动增益输出工具(AUTO_GET_AEC_GAIN、GET_AEC_GAIN_AUDIO_ID 等),并将自动增益工具原始播报音频幅值在 0~2 dBFS 情况下的截幅判断阈值由 5000 调整为 4500;
  • 数字双麦 mic 加模拟 mic 右通道作为参考回路方案:做双麦 AEC 时可节约一个 7243e 外部 codec 的成本;
  • 板级新增右麦克单端差分配置:REF_DIFF_SINGLE(AEC 时使用)、MIC_DIFF_SINGLE(不开 AEC 时双麦使用),并新增 REF_IN_FROM_INNER_CODEC;默认模拟麦克;

6. 示例工程与全局宏

  • 三个模板工程**移除 app/app_ble、app/app_demo 目录**,components/ci_ble(蓝牙)、components/tts(语音合成)组件从 SDK 移除;相关宏(CIAS_BLE_*、BLE_*、UART_TTS_*、CIAS_AIOT_DEMO_ENABLE 等)一并删除;
  • 新增 USE_IR_ENABLE(原 USE_IR_ENABEL 拼写修正)、ASR_MIDDLE_RESULT_OUT_EN、AUDIO_IN_FROM_DMIC、DEFAULT_EXPECT_VOLUM、DEFAULT_MIN_MIC_GAIN、MIC_RECORD_IIS_SELECT、IIS_CHANNEL_ENG_CALC_EANBLE 等宏;USE_IIS1_OUT_PRE_RSLT_AUDIO 由 USE_IIS_RECORD(makefile 开关)替代;

7. 模型与固件

  • 默认 ASR 模型改为 PRO5 V02142:语言模型 firmware/asr/lm_chinese_CI1306_V02142.dat、声学模型 firmware/dnn/G3-FS-CH-S-V02142.fefixbin458(原 asr_chinese_CI1306_V01458 / G3-TY-CH-S-V01458);
  • 播报音新增 firmware/voice/src/[3000]pink1.wav、[3001]pink_aec_thr.wav(AEC 调试音频);

8. OTA 与打包工具

  • OTA 与 PACK_UPDATE_TOOL 沿用 V2.2.7 的 OTA V4.1.12 / PACK_UPDATE_TOOL 4.0.7(firmware/config.ini 中 firmware_version 仍按 FW_V2,打包固件时按要求设为 FW_V4);
  • external 下 OTA 参考目录由 ota参考 更名为 ota_reference,其中的 OTA 说明文档更新为《启英泰伦OTA V4.1.X 使用和协议说明文档(软件版本V4.1.12)-20260721》;同时删除 external/firmware参考 目录;
  • firmware/config.ini 分区地址整体偏移 0x1000(起始地址减小 0x1000):command_addr 0x3C000→0x3B000、code1_size 0x38000→0x37000,module_addr、user_file_addr、voice_addr 等同步偏移;升级/打包脚本务必使用 V3.0.19 包内的 firmware/config.ini 与 合成分区bin文件.bat,不要沿用旧版本地址表。