跳转至

从2.0.10迁移到2.1.14

CI130X_SDK从2.0.10迁移到2.1.14, 先把工程目录从旧SDK中 “CI130X_SDK_Offline_V2.0.10\projects\xxx” 直接拷贝到新的SDK目录 “CI130X_SDK_Offline_V2.1.14\projects\”。然后还需要做下文所描述的修改。

脚本修改和同步

  • 合成分区bin文件.bat
    文件路径: “CI130X_SDK\projects\*\firmware\合成分区bin文件.bat”
    同步方式:直接拷贝新版本SDK中示例工程下的文件覆盖旧版本文件。

代码修改和同步

  • offline_asr_pro_sample工程的main.c
    文件路径: “CI130X_SDK\projects\offline_asr_pro_sample\src\main.c”
    修改方式: 添加代码
    修改内容:

    //在UserTaskManageProcess任务创建之后添加以下代码:
    extern void config_adpt_cnt(int enable);
    config_adpt_cnt(ADAPTIVE_CNT_ENABLE);
    
    extern void config_max_stop_cfd(int enable,int nocnt_max_stop_cfd,int cnt_max_stop_cfd);
    config_max_stop_cfd(MAX_STOP_CFD_ENABLE,MAX_STOP_CFD_NOCNT,MAX_STOP_CFD_CNT);
    
    extern void config_max_vad_end_frm(int max_vad_end_frm);
    config_max_vad_end_frm(MAX_STOP_VAD_FRM);
    
    extern int config_base_confidence_count(short base_confidence,unsigned char valid_count);
    config_base_confidence_count(DEFAULT_CONFIDENCE,DEFAULT_CNT);
    
    extern void config_recover_result(int enable,int mode,int max_frm);
    config_recover_result(RECOVER_RESULT_ENABLE,RECOVER_RESULT_MODE,RECOVER_RESULT_MAX_FRM);
    
    extern void config_silprob_cnt(float base_silprob,int base_silcnt );
    config_silprob_cnt(DEFAULT_STOP_SILPROB,DEFAULT_STOP_SILCNT);
    

  • USE_ALC_AUTO_SWITCH_MODULE
    文件路径: “CI130X_SDK\projects\offline_asr_pro_sample\src\user_config.h”
    修改方式: 修改宏的定义值
    修改内容:

    // 迁移前
    #define USE_ALC_AUTO_SWITCH_MODULE  1
    
    // 迁移后
    #define USE_ALC_AUTO_SWITCH_MODULE  0
    

新增配置宏

  • DEFAULT_CONFIDENCE
    #define DEFAULT_CONFIDENCE      (60) // 配置默认置信度宏 :Excel未配置置信度的词条的默认值, 理论范围[1-255],建议范围[30-150]
    
  • DEFAULT_CNT
    #define DEFAULT_CNT             (6) // 配置默认cnt宏 :Excel未配置cnt的词条的默认值,理论范围[1-255],建议范围[4-20]
    
  • ADAPTIVE_CNT_ENABLE
    #define ADAPTIVE_CNT_ENABLE     (1)  //配置自适应cnt使能宏 ,1:打开自适应 cnt; 0:关闭,加快响应速度,但必须手动在excel配置短词的cnt;
    
  • MAX_STOP_VAD_FRM
    #define MAX_STOP_VAD_FRM        (30)  //配置VAD_END帧数宏 最大停顿静音间隔帧数 30=300ms 值越大识别响应时间会加长;过短导致出现截断,长词识别为短词 ,建议:英文/小语种 该值至少35,理论范围 [1-60],建议范围[20-50]
    
  • MAX_STOP_CFD_ENABLE
    #define MAX_STOP_CFD_ENABLE      (0) // 打分超过阈值提前结束功能 0 关闭 1 开启(可提升响应速度)
    
  • MAX_STOP_CFD_NOCNT
    #define MAX_STOP_CFD_NOCNT      (50) // MAX_STOP_CFD_ENABLE为1有效 无cnt配置的词,最大结束阈值,理论范围 [5-200],建议范围[50-150];
    
  • MAX_STOP_CFD_CNT
    #define MAX_STOP_CFD_CNT        (60) // MAX_STOP_CFD_ENABLE为1有效 有cnt配置的词,最大结束阈值,至少要比 MAX_STOP_CFD_NOCNT 大,理论范围 [5-200],建议范围[50-150];
    
  • DEFAULT_STOP_SILPROB
    #define DEFAULT_STOP_SILPROB    (0.9f) // 识别结束停顿静音概率阈值,理论范围[0-1],值越大支持的停顿时间越长
    
  • DEFAULT_STOP_SILCNT
     #define DEFAULT_STOP_SILCNT     (2)  // 识别结束静音连续次数宏:识别结束停顿静音,值越大支持的停顿时间越长,理论范围 [1-200] 建议范围 [1-10]   
     ```
    - RECOVER_RESULT_ENABLE    
    ```c
    #define RECOVER_RESULT_ENABLE    (1)  //语音识别结果回收使能配置(整段语音结束,无有效结果,再回溯搜索打分满足阈值[CNT不满足]的结果), 开启人声噪音识别率会增加,但集外误识别会提升
    
  • RECOVER_RESULT_MODE
    #define RECOVER_RESULT_MODE      (0) // RECOVER_RESULT_ENABLE 为1 有效,语音识别结果回收使能作用模式,0 命令词和唤醒词; 1 唤醒词
    
  • RECOVER_RESULT_MAX_FRM
    #define RECOVER_RESULT_MAX_FRM   (0) // RECOVER_RESULT_ENABLE 为1 有效,回收使能 在CNT基础上再增加超时帧数 , 10=300 ms ,理论范围 [0-200],建议范围[0-20]
    

新增接口

  • flash_clk_div_init
    //用于初始flash控制器的预分频系数。
    int32_t flash_clk_div_init(spic_base_t spic);