回复
OpenHarmony ——唤醒词识别配置文件的开发示例
jiecho
发布于 2021-7-21 16:11
浏览
0收藏
唤醒词识别配置文件的开发示例
以开发唤醒词识别为例,开发者可在Hi3516DV300开发板上,基于AI引擎框架开发唤醒词识别的sdk以及唤醒词识别的plugin,通过编译命令编出新的版本镜像并将其烧入版本。同时,开发者开发唤醒词识别的应用,该应用能够接收外部音频,将listen到的音频传入SDK中的接口,若音频中带有关键词,唤醒词识别的应用会识别出相应的词语,并打印在命令行中。
本示例中唤醒词识别的场景中唤醒词是固定的,当开发者传入的音频包含”Hi,小问“,启动的应用就会打印"[Hi, xiaowen]",当不包含时,会打印'[UNKNOWN]"。
代码路径//foundation/ai/engine/services/common/protocol/plugin_config/plugin_config_ini/中添加唤醒词识别的配置文件
[base]
supported_boards = hi3516dv300
related_sessions = asr_keyword_spotting+20001002
//[asr_keyword_spotting+20001002]的命名规则为[算法名称+算法version]
[asr_keyword_spotting+20001002]
AID = asr_keyword_spotting
VersionCode = 20001002
VersionName = 2.00.01.002
XPU = NNIE
District = China
// 编译出的插件so所在的位置
FullPath = /usr/lib/libasr_keyword_spotting.so
Chipset = ALL
ChkSum = ''
Key = ''
-
代码路径//foundation/ai/engine/services/common/protocol/plugin_config/aie_algorithm_type.h文件中添加唤醒词识别算法类型id。
// 唤醒词识别的算法类型id与唤醒词识别在ALGORITHM_TYPE_ID_LITS中的序号一一对应 const int ALGORITHM_TYPE_KWS = 3;
-
代码路径//foundation/ai/engine/services/server/plugin_manager/include/aie_plugin_info.h文件中添加唤醒词识别算法名称及在ALGORITHM_TYPE_ID_LITS中的序号
const std::string ALGORITHM_ID_SAMPLE_1 = "sample_plugin_1"; const std::string ALGORITHM_ID_SAMPLE_2 = "sample_plugin_2"; const std::string ALGORITHM_ID_IVP = "cv_human_detect"; // 添加唤醒词识别的算法名称asr_keyword_spotting // 算法的变量名称与ALGORITHM_TYPE_ID_LIST中算法typeId命名相同,例如;ALGORITHM_ID_KWS const std::string ALGORITHM_ID_KWS = "asr_keyword_spotting"; const std::string ALGORITHM_ID_IC = "cv_image_classification"; const std::string ALGORITHM_ID_INVALID = "invalid algorithm id"; const std::vector<std::string> ALGORITHM_TYPE_ID_LIST = { ALGORITHM_ID_SAMPLE_1, ALGORITHM_ID_SAMPLE_2, ALGORITHM_ID_IVP, // 添加唤醒词识别在ALGORITHM_TYPE_ID_LITS中的序号,通过该序号可获得唤醒词识别的算法名称 // 唤醒词识别的算法名称和唤醒词识别在ALGORITHM_TYPE_ID_LITS中的序号顺序需保持一致 ALGORITHM_ID_KWS, ALGORITHM_ID_IC, };
已于2021-7-21 16:11:21修改
赞
收藏
回复
相关推荐