![]() |
CI130X SDK API手册
2.2.0
本手册用于描述CI130X SDK各个组件和驱动API
|
asr识别打分模式,语音活动检测VAD等配置。 更多...
函数 | |
| int | asrtop_asrpcmbuf_mem_cfg (unsigned int buf_base_ptr, int frm_nums, int frm_shift) |
| 配置 语音数据缓存信息给 asr 系统 更多... | |
| int | asrtop_taskmanage_create (void) |
| asr 系统任务,信号量,队列创建,会配置 asr 默认参数 更多... | |
| int | asrtop_asr_system_start (unsigned int lg_model_addr0, unsigned int lg_model_size0, unsigned int ac_model_addr, unsigned int ac_model_size, void *pdata) |
| asr 系统重启,第一次可直接调用 asrtop_asrtop_asr_system_start 系统的启动; asr启动后,禁止单独调用,必须先调用 asrtop_asr_system_release 成功后,才可调用此函数。 更多... | |
| int | asrtop_asr_system_release (void) |
| 释放 asr 系统,fe输出缓存,梅尔系数缓存,cmvn内部运算缓存,窗函数缓存, dnn输出缓存,decoder用到的缓存 全部释放,释放成功后 asr 系统不处理语音(不影响 flash的使用),必须调用 asrasrtop_asr_system_start恢复 asr的运行 更多... | |
| int | asrtop_asr_system_create_model (unsigned int lg_model_addr, unsigned int lg_model_size, unsigned int ac_model_addr, unsigned int ac_model_size, void *pdata) |
| asr 系统模型创建,独立使用,模型创建不影响外部flash使用 更多... | |
| int | asrtop_asr_system_pause (void) |
| 暂停 运行 asr 系统,暂停成功后,asr 系统内部余留语音相关信息会被清掉, 不再处理语音(不影响flash的使用),直到 调用 asrtop_asr_system_continue asr 系统 再运行,必须和asrtop_asr_system_continue 配对调用 更多... | |
| int | asrtop_asr_system_continue (void) |
| 继续 运行 asr 系统,必须调用 asrtop_asr_system_pause 成功后才能调用此函数 禁止单独调用 更多... | |
| int | get_asrtop_asrfrmshift (void) |
| Get the asrtop asrfrmshift 更多... | |
| int | send_requset_flash_msg_to_dnn (void) |
| 发送请求 flash消息给dnn,必须和 释放配对使用 更多... | |
| int | send_release_flash_semaphore_to_dnn (void) |
| 发送释放信号量给dnn ,只能flash 函数管理和请求flash 配对使用 更多... | |
| int | asrtop_sys_isbusy (void) |
| 查询 asr 系统是否处于忙状态,处理语音 更多... | |
| short | asrtop_get_decode_pcm_finished_frame (void) |
| 获取 asr 系统 已经解码的帧数 更多... | |
| int | asrtop_cmvn_update_weight_config (float alpha) |
| asrtop fe的 cmvn 迭代系数配置(调试用) 更多... | |
| int | asrtop_tdvad_base_energy_cfg (float base_energy) |
| asrtop tdvad的 base_energy 系数 配置 更多... | |
| int | asrtop_asr_switch_fst (int fst_idx, void *pdata) |
| asr 系统模型内部语言模型网络索引切换 更多... | |
| int | asrtop_tdvad_vadend_frames_cfg (int vadend_frames) |
| asrtop tdvad的 vad end 条件帧数 配置 更多... | |
| int | asrtop_dynamic_confidence_mode_cfg (int confidence_mode) |
| asr识别打分模式配置 更多... | |
| void | asr_system_startup_task (void *p) |
| asr识别启动任务 更多... | |
| int | get_asr_sys_verinfo (char *version_buf) |
| asr版本查询 更多... | |
| int | set_asr_sigle_word_confidence_count_threshold (short confidence_thr, unsigned char valid_count_thr) |
| 设置单个命令词的置信度和有效次数阈值 更多... | |
| int | asrtop_asr_system_litecreate (unsigned int lg_model_addr, unsigned int lg_model_size, unsigned int ac_model_addr, unsigned int ac_model_size, void *pdata) |
| asr 系统模型创建,独立使用,模型创建不影响外部flash使用 更多... | |
| void | config_adpt_cnt (int enable) |
| asr 系统中,开/关 自适应CNT功能; 自适应CNT:在语音识别后处理中,针对指令词,自动计算对应的CNT值, 结合Excel中的数值,选取大作为最终CNT,用来改善长词识别成短词的问题 可通过修改 ADAPTIVE_CNT_ENABLE 来开关该功能 更多... | |
| void | config_max_stop_cfd (int enable, int nocnt_max_stop_cfd, int cnt_max_stop_cfd) |
| 开启该功能后,当语音识别结果的置信度打分满足 配置的 max_stop_cfd后,立即结束本轮的语音识别(打分超过阈值提前结束) 用来提升响应速度,特殊场景(固定词条、无长短词项目中)使用 更多... | |
| void | config_max_vad_end_frm (int max_vad_end_frm) |
| asr 系统中,配置 VAD END 帧数,用于调整指令词语音中最大停顿静音间隔帧数 更多... | |
| int | config_base_confidence_count (short base_confidence, unsigned char valid_count) |
| asr 系统中,配置 基础置信度打分门限和CNT值 CNT值:语音识别后处理中,满足条件(识别打分超过对应的门限)的累计帧数, 当累计帧数超过该值,立即结束本轮的语音识别, 更多... | |
| void | config_recover_result (int enable, int mode, int max_frm) |
| asr 系统中,语音识别后处理逻辑里面的,语音识别结果回收使能 配置(整段语音结束,无有效结果,再回溯搜索打分满足阈值[CNT不满足]的结果), 开启人声噪音识别率会增加,但集外误识别会提升 更多... | |
| void | config_silprob_cnt (float base_silprob, int base_silcnt) |
| asr 系统中, 配置静音概率门限和帧累计次数门限, 用于平衡语音指令识别响应时间和支持的最大停顿时间 更多... | |
| int | vadstart_callback (unsigned int *pdata, int line) |
| asr 系统中 vadstart的回调函数,当触发vad start时,libasr库里面会调用该函数; 根据需要可自行在该函数中添加处理逻辑或获取、记录信息 更多... | |
| int | vadprocess_callback (unsigned int *pdata, int line) |
| asr 系统中 vadstart后,vadend前,每帧(帧长10ms)语音调用一次该函数,libasr库里面会调用该函数 根据需要可自行在该函数中添加处理逻辑或获取、记录信息 更多... | |
| int | vadend_callback (unsigned int *pdata, int line) |
| asr 系统中 vadend的回调函数,当触发vad end 时,libasr库里面会调用该函数; 根据需要可自行在该函数中添加处理逻辑或获取、记录信息 更多... | |
| int | set_pcm_vad_mark_flag (short *pcm_data, int frame_len) |
| asr 系统中 vadstart,vadend 标记函数,每帧(帧长10ms)会调用一次,呈现在实时的语音信号上面,方便debug观察 可根据情况 更多... | |
| int | computevad_callback (int asrpcmbuf_addr, int pcm_byte_size, short asrfrmshift, unsigned int asrpcmbuf_start_addr, unsigned int asrpcmbuf_end_addr) |
| 可删除,调试函数 更多... | |
| int | asr_result_callback (callback_asr_result_type_t *asr) |
| asr 系统中 识别到指令词的回调函数,当有识别结果,libasr库里面会调用该函数 该函数会输出指令文本、置信度打分、词条管理句柄等信息,并发送相关信息到 系统应用层,做后处理,如发送协议,播放对应的提示语音,进入唤醒等;可根据需要 在该函数中添加相关代码,但不能在该延时,或长时间占用,会影响识别响应速度 更多... | |
asr识别打分模式,语音活动检测VAD等配置。
@文件 asr_process_callbak.h @版本 V1.0.1 @日期 2019-3-15 @概要 asr 回调函数,VAD相关
@注意
版权归chipintelli公司所有,未经允许不得使用或修改
| int asr_result_callback | ( | callback_asr_result_type_t * | asr | ) |
asr 系统中 识别到指令词的回调函数,当有识别结果,libasr库里面会调用该函数 该函数会输出指令文本、置信度打分、词条管理句柄等信息,并发送相关信息到 系统应用层,做后处理,如发送协议,播放对应的提示语音,进入唤醒等;可根据需要 在该函数中添加相关代码,但不能在该延时,或长时间占用,会影响识别响应速度
| asr | 语音指令识别结果的相关的信息,如文本、打分等 |
| void asr_system_startup_task | ( | void * | p | ) |
asr识别启动任务
| int asrtop_asr_switch_fst | ( | int | fst_idx, |
| void * | pdata | ||
| ) |
asr 系统模型内部语言模型网络索引切换
| fst_idx | 语言模型网络索引 |
| pdata | pdata[0]:dnn输出位宽配置,1: 8bit,其他16bit(默认16bit) pdata[2]~:预留 |
| int asrtop_asr_system_continue | ( | void | ) |
继续 运行 asr 系统,必须调用 asrtop_asr_system_pause 成功后才能调用此函数 禁止单独调用
| int asrtop_asr_system_create_model | ( | unsigned int | lg_model_addr, |
| unsigned int | lg_model_size, | ||
| unsigned int | ac_model_addr, | ||
| unsigned int | ac_model_size, | ||
| void * | pdata | ||
| ) |
asr 系统模型创建,独立使用,模型创建不影响外部flash使用
| lg_model_addr | 语言模型基地址,支持flash,SRAM,PSRAM 映射的地址,内部会自行判断 是否加载 |
| lg_model_size | 语言模型大小 |
| ac_model_addr | 声学模型基地址,支持flash,PSRAM 映射地址,内部自行判断是否配置qspi 对应dnn 模式参数 |
| ac_model_size | 声学模型大小 |
| pdata | pdata[0]: dnn输出位宽配置,1: 8bit,其他16bit(默认16bit),其他预留 pdata[1]: 0: pdata[2],pdata[3] 参数无效,1:pdata[2],pdata[3],pdata[4] 参数有效,第二个网络语言模型参数 pdata[2]: lg_model_addr1 语言模型基地址,支持flash,SRAM,PSRAM 映射的地址,内部会自行判断 pdata[3]: lg_model_size1 语言模型大小 pdata[4]: 创建启动的模型索引号 pdata[5]~:预留 |
| int asrtop_asr_system_litecreate | ( | unsigned int | lg_model_addr, |
| unsigned int | lg_model_size, | ||
| unsigned int | ac_model_addr, | ||
| unsigned int | ac_model_size, | ||
| void * | pdata | ||
| ) |
asr 系统模型创建,独立使用,模型创建不影响外部flash使用
| lg_model_addr | 语言模型基地址,支持flash,SRAM,PSRAM 映射的地址,内部会自行判断 是否加载 |
| lg_model_size | 语言模型大小 |
| ac_model_addr | 声学模型基地址,支持flash,PSRAM 映射地址,内部自行判断是否配置qspi 对应dnn 模式参数 |
| ac_model_size | 声学模型大小 |
| pdata | pdata[0]: dnn输出位宽配置,1: 8bit,其他16bit(默认16bit) pdata[1]: 0: pdata[2],pdata[3] 参数无效,1:pdata[2],pdata[3],pdata[4] 参数有效,第二个网络语言模型参数 pdata[2]: lg_model_addr1 语言模型基地址,支持flash,SRAM,PSRAM 映射的地址,内部会自行判断 pdata[3]: lg_model_size1 语言模型大小 pdata[4]: 创建启动的模型索引号 pdata[5]~:预留 |
| int asrtop_asr_system_pause | ( | void | ) |
暂停 运行 asr 系统,暂停成功后,asr 系统内部余留语音相关信息会被清掉, 不再处理语音(不影响flash的使用),直到 调用 asrtop_asr_system_continue asr 系统 再运行,必须和asrtop_asr_system_continue 配对调用
| int asrtop_asr_system_release | ( | void | ) |
释放 asr 系统,fe输出缓存,梅尔系数缓存,cmvn内部运算缓存,窗函数缓存, dnn输出缓存,decoder用到的缓存 全部释放,释放成功后 asr 系统不处理语音(不影响 flash的使用),必须调用 asrasrtop_asr_system_start恢复 asr的运行
| int asrtop_asr_system_start | ( | unsigned int | lg_model_addr0, |
| unsigned int | lg_model_size0, | ||
| unsigned int | ac_model_addr, | ||
| unsigned int | ac_model_size, | ||
| void * | pdata | ||
| ) |
asr 系统重启,第一次可直接调用 asrtop_asrtop_asr_system_start 系统的启动; asr启动后,禁止单独调用,必须先调用 asrtop_asr_system_release 成功后,才可调用此函数。
| lg_model_addr0 | 语言模型基地址,支持flash,SRAM,PSRAM 映射的地址,内部会自行判断 是否加载 |
| lg_model_size0 | 语言模型大小 |
| ac_model_addr | 声学模型基地址,支持flash,PSRAM 映射地址,内部自行判断是否配置qspi 对应dnn 模式参数 |
| ac_model_size | 声学模型大小 |
| pdata | pdata[0]: dnn输出位宽配置,1: 8bit,其他16bit(默认16bit), pdata[1]: 0: pdata[2],pdata[3] 参数无效,1:pdata[2],pdata[3],pdata[4] 参数有效,第二个网络语言模型参数 pdata[2]: lg_model_addr1 语言模型基地址,支持flash,SRAM,PSRAM 映射的地址,内部会自行判断 pdata[3]: lg_model_size1 语言模型大小 pdata[4]: 创建启动的模型索引号 pdata[5]~:预留 |
| int asrtop_asrpcmbuf_mem_cfg | ( | unsigned int | buf_base_ptr, |
| int | frm_nums, | ||
| int | frm_shift | ||
| ) |
配置 语音数据缓存信息给 asr 系统
| buf_base_ptr | 语音缓存基地址 |
| frm_nums | 语音缓存帧数 |
| frm_shift | 语音缓存帧移 |
| int asrtop_cmvn_update_weight_config | ( | float | alpha | ) |
asrtop fe的 cmvn 迭代系数配置(调试用)
| alpha | 迭代系数(0~1) |
| int asrtop_dynamic_confidence_mode_cfg | ( | int | confidence_mode | ) |
asr识别打分模式配置
| confidence_mode | 配置模式,0 平均模式,-1 最大值模式 |
| short asrtop_get_decode_pcm_finished_frame | ( | void | ) |
获取 asr 系统 已经解码的帧数
| int asrtop_sys_isbusy | ( | void | ) |
查询 asr 系统是否处于忙状态,处理语音
| int asrtop_taskmanage_create | ( | void | ) |
asr 系统任务,信号量,队列创建,会配置 asr 默认参数
| int asrtop_tdvad_base_energy_cfg | ( | float | base_energy | ) |
asrtop tdvad的 base_energy 系数 配置
| base_energy | 系数 |
| int asrtop_tdvad_vadend_frames_cfg | ( | int | vadend_frames | ) |
asrtop tdvad的 vad end 条件帧数 配置
| vadend_frames | vad end 的帧数 |
| int computevad_callback | ( | int | asrpcmbuf_addr, |
| int | pcm_byte_size, | ||
| short | asrfrmshift, | ||
| unsigned int | asrpcmbuf_start_addr, | ||
| unsigned int | asrpcmbuf_end_addr | ||
| ) |
可删除,调试函数
| void config_adpt_cnt | ( | int | enable | ) |
asr 系统中,开/关 自适应CNT功能; 自适应CNT:在语音识别后处理中,针对指令词,自动计算对应的CNT值, 结合Excel中的数值,选取大作为最终CNT,用来改善长词识别成短词的问题 可通过修改 ADAPTIVE_CNT_ENABLE 来开关该功能
| enable | 非0: 开启自适应CNT功能;0:关闭自适应CNT功能, 关闭可加快响应速度,但必须手动在excel配置短词的cnt; |
| int config_base_confidence_count | ( | short | base_confidence, |
| unsigned char | valid_count | ||
| ) |
asr 系统中,配置 基础置信度打分门限和CNT值 CNT值:语音识别后处理中,满足条件(识别打分超过对应的门限)的累计帧数, 当累计帧数超过该值,立即结束本轮的语音识别,
| base_confidence | 配置默认置信度 :Excel未配置置信度的词条的默认值, 理论范围[1-255],建议范围[30-150],可修改 DEFAULT_CONFIDENCE 调整该值 |
| valid_count | 配置默认cnt宏 :Excel未配置cnt的词条的默认值,理论范围[1-255], 建议范围[4-20] ,可修改 DEFAULT_CNT 调整该值 |
| void config_max_stop_cfd | ( | int | enable, |
| int | nocnt_max_stop_cfd, | ||
| int | cnt_max_stop_cfd | ||
| ) |
开启该功能后,当语音识别结果的置信度打分满足 配置的 max_stop_cfd后,立即结束本轮的语音识别(打分超过阈值提前结束) 用来提升响应速度,特殊场景(固定词条、无长短词项目中)使用
| enable | 非0:开启, 0:关闭,可通过修改 MAX_STOP_CFD_ENABLE 来开关该功能 |
| nocnt_max_stop_cfd | enable为非0时,该参数有效,无cnt配置的词, 最大结束阈值,理论范围 [5-200],建议范围[50-150],可配置 MAX_STOP_CFD_NOCNT 调整该值 |
| cnt_max_stop_cfd | enable为非0时,该参数有效,有cnt配置的词,最大结束阈值, 理论范围 [5-200],建议范围[50-150] 可配置 MAX_STOP_CFD_CNT 调整该值 |
| void config_max_vad_end_frm | ( | int | max_vad_end_frm | ) |
asr 系统中,配置 VAD END 帧数,用于调整指令词语音中最大停顿静音间隔帧数
| max_vad_end_frm | VAD END帧数 最大停顿静音间隔帧数 30=300ms 值越大识别响应时间会加长;过短导致出现截断,长词识别为短词 , 建议:英文/小语种 该值至少35,理论范围 [1-60],建议范围[20-50] 可配置 MAX_STOP_VAD_FRM 调整该值 |
| void config_recover_result | ( | int | enable, |
| int | mode, | ||
| int | max_frm | ||
| ) |
asr 系统中,语音识别后处理逻辑里面的,语音识别结果回收使能 配置(整段语音结束,无有效结果,再回溯搜索打分满足阈值[CNT不满足]的结果), 开启人声噪音识别率会增加,但集外误识别会提升
| enable | 0:关该功能 ,非0:开启该功能 可修改 RECOVER_RESULT_ENABLE 调整该值 |
| mode | enable 开启后,该参数有效 语音识别结果回收使能作用模式, 0 命令词和唤醒词; 1 唤醒词 可修改 RECOVER_RESULT_MODE 调整该值 |
| max_frm | enable 开启后,该参数有效,回收使能 在CNT基础上再增加超时帧数 , 10=300 ms ,理论范围 [0-200],建议范围[0-20] 可修改 RECOVER_RESULT_MAX_FRM 调整该值 |
| void config_silprob_cnt | ( | float | base_silprob, |
| int | base_silcnt | ||
| ) |
asr 系统中, 配置静音概率门限和帧累计次数门限, 用于平衡语音指令识别响应时间和支持的最大停顿时间
| base_silprob | 识别结束停顿静音概率阈值,理论范围[0-1],值越大支持的停顿时间越长 可修改 DEFAULT_STOP_SILPROB 调整该值 |
| base_silcnt | 识别结束静音连续次数:识别结束停顿静音,值越大支持的停顿时间越长, 理论范围 [1-200] 建议范围 [1-10],可修改 DEFAULT_STOP_SILCNT 调整该值 |
| int get_asr_sys_verinfo | ( | char * | version_buf | ) |
asr版本查询
| version_buf | 至少 80字节 |
| int get_asrtop_asrfrmshift | ( | void | ) |
Get the asrtop asrfrmshift
| int send_release_flash_semaphore_to_dnn | ( | void | ) |
发送释放信号量给dnn ,只能flash 函数管理和请求flash 配对使用
| int send_requset_flash_msg_to_dnn | ( | void | ) |
发送请求 flash消息给dnn,必须和 释放配对使用
| int set_asr_sigle_word_confidence_count_threshold | ( | short | confidence_thr, |
| unsigned char | valid_count_thr | ||
| ) |
设置单个命令词的置信度和有效次数阈值
| short | confidence_thr(16-24),short confidence_thr(>9) |
| int set_pcm_vad_mark_flag | ( | short * | pcm_data, |
| int | frame_len | ||
| ) |
asr 系统中 vadstart,vadend 标记函数,每帧(帧长10ms)会调用一次,呈现在实时的语音信号上面,方便debug观察 可根据情况
| pcm_data | 语音PCM的地址 |
| frame_len | 语音帧数(帧长10ms) |
| int vadend_callback | ( | unsigned int * | pdata, |
| int | line | ||
| ) |
asr 系统中 vadend的回调函数,当触发vad end 时,libasr库里面会调用该函数; 根据需要可自行在该函数中添加处理逻辑或获取、记录信息
| pdata | 语音PCM的地址 |
| line | debug用,调用该函数位置的行号 |
| int vadprocess_callback | ( | unsigned int * | pdata, |
| int | line | ||
| ) |
asr 系统中 vadstart后,vadend前,每帧(帧长10ms)语音调用一次该函数,libasr库里面会调用该函数 根据需要可自行在该函数中添加处理逻辑或获取、记录信息
| pdata | 语音PCM的地址 |
| line | debug用,调用该函数位置的行号 |
| int vadstart_callback | ( | unsigned int * | pdata, |
| int | line | ||
| ) |
asr 系统中 vadstart的回调函数,当触发vad start时,libasr库里面会调用该函数; 根据需要可自行在该函数中添加处理逻辑或获取、记录信息
| pdata | 语音PCM的地址 |
| line | debug用,调用该函数位置的行号 |
1.8.14