![]() |
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用,调用该函数位置的行号 |