Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
1978be24
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
1978be24
编写于
5月 07, 2022
作者:
O
openharmony_ci
提交者:
Gitee
5月 07, 2022
浏览文件
操作
浏览文件
下载
差异文件
!3730 【OpenHarmony开源贡献者计划2022】表达相关问题
Merge pull request !3730 from king_he/master
上级
710a7c17
c0811bf9
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
18 addition
and
18 deletion
+18
-18
zh-cn/device-dev/subsystems/Readme-CN.md
zh-cn/device-dev/subsystems/Readme-CN.md
+1
-1
zh-cn/device-dev/subsystems/subsys-aiframework-demo-conf.md
zh-cn/device-dev/subsystems/subsys-aiframework-demo-conf.md
+4
-4
zh-cn/device-dev/subsystems/subsys-aiframework-demo-plugin.md
...n/device-dev/subsystems/subsys-aiframework-demo-plugin.md
+4
-4
zh-cn/device-dev/subsystems/subsys-aiframework-demo-sdk.md
zh-cn/device-dev/subsystems/subsys-aiframework-demo-sdk.md
+4
-4
zh-cn/device-dev/subsystems/subsys-aiframework-demo.md
zh-cn/device-dev/subsystems/subsys-aiframework-demo.md
+2
-2
zh-cn/device-dev/subsystems/subsys-aiframework-devguide-conf.md
...device-dev/subsystems/subsys-aiframework-devguide-conf.md
+3
-3
未找到文件。
zh-cn/device-dev/subsystems/Readme-CN.md
浏览文件 @
1978be24
...
...
@@ -100,4 +100,4 @@
-
[
bytrace使用指导
](
subsys-toolchain-bytrace-guide.md
)
-
[
hdc_std使用指导
](
subsys-toolchain-hdc-guide.md
)
-
[
hiperf使用指导
](
subsys-toolchain-hiperf.md
)
-
[
XTS认证用例开发指导
](
subsys-xts-guide.md
)
\ No newline at end of file
-
[
XTS测试用例开发指导
](
subsys-xts-guide.md
)
\ No newline at end of file
zh-cn/device-dev/subsystems/subsys-aiframework-demo-conf.md
浏览文件 @
1978be24
# 唤醒词识别配置文件的开发示例
1.
代码路径//foundation/ai/engine/services/common/protocol/plugin_config/plugin_config_ini/中添加唤醒词识别的配置文件。
1.
在
代码路径//foundation/ai/engine/services/common/protocol/plugin_config/plugin_config_ini/中添加唤醒词识别的配置文件。
```
[base]
...
...
@@ -15,21 +15,21 @@
VersionName = 2.00.01.002
XPU = NNIE
District = China
// 编译出的插件so所在的位置
// 编译出的插件so
文件
所在的位置
FullPath = /usr/lib/libasr_keyword_spotting.so
Chipset = ALL
ChkSum = ''
Key = ''
```
2.
代码路径//foundation/ai/engine/services/common/protocol/plugin_config/aie_algorithm_type.h文件中
添加唤醒词识别算法类型id。
2.
在代码路径//foundation/ai/engine/services/common/protocol/plugin_config/中的aie_algorithm_type.h文件
添加唤醒词识别算法类型id。
```
// 唤醒词识别的算法类型id与唤醒词识别在ALGORITHM_TYPE_ID_LIST中的序号一一对应
const int ALGORITHM_TYPE_KWS = 3;
```
3.
代码路径//foundation/ai/engine/services/server/plugin_manager/include/aie_plugin_info.h文件中
添加唤醒词识别算法名称及在ALGORITHM_TYPE_ID_LIST中的序号。
3.
在代码路径//foundation/ai/engine/services/server/plugin_manager/include/中的aie_plugin_info.h文件
添加唤醒词识别算法名称及在ALGORITHM_TYPE_ID_LIST中的序号。
```
const std::string ALGORITHM_ID_SAMPLE_1 = "sample_plugin_1";
...
...
zh-cn/device-dev/subsystems/subsys-aiframework-demo-plugin.md
浏览文件 @
1978be24
# 唤醒词识别插件的开发示例
1.
在
//foundation/ai/engine/services/server/plugin的目录
中添加唤醒词识别插件的接口定义(IPlugin),并实现AI能力的调用。如下代码片段即实现唤醒词识别的算法插件的接口定义。更多插件开发的相关代码参考路径如下://foundation/ai/engine/services/server/plugin/asr/keyword_spotting
1.
在
代码路径//foundation/ai/engine/services/server/plugin
中添加唤醒词识别插件的接口定义(IPlugin),并实现AI能力的调用。如下代码片段即实现唤醒词识别的算法插件的接口定义。更多插件开发的相关代码参考路径如下://foundation/ai/engine/services/server/plugin/asr/keyword_spotting
```
#include "plugin/i_plugin.h
...
...
@@ -22,16 +22,16 @@
```
上述代码实现server提供的IPlugin接口。唤醒词识别的sample中调用的client端接口与插件中的接口对应关系及其实现功能如下表所示。
**表1** 唤醒词识别中client端接口与插件接口对应关系
**表1** 唤醒词识别中client端接口与插件
中的
接口对应关系
| client端定义的接口 | 插件中定义的接口 | 功能 |
| -------- | -------- | -------- |
| AieClientPrepare | Prepare | 提供推理算法插件初始化功能,例如:加载唤醒词识别模型,将固定位置(/sdcard/wenwen_inst.wk)模型加载至内存。 |
| AieClientSyncProcess | SyncProcess | 提供同步执行推理算法的能力,例如:实现同步执行音频推理算法,判断音频中是否存在唤醒词。 |
| AieClientAsyncProcess | AsyncProcess | 提供异步执行推理算法的能力,当前唤醒词识别场景不涉及,但开发者可根据具体场景自行实现。 |
| AieClientSetOption | SetOption | 提供手动设置算法相关配置项,如置信度阈值、时延等超参数的能力
,当前唤醒词识别场景未涉及。
开发者可视具体场景自行实现。 |
| AieClientSetOption | SetOption | 提供手动设置算法相关配置项,如置信度阈值、时延等超参数的能力
。当前唤醒词识别场景未涉及,
开发者可视具体场景自行实现。 |
| AieClientGetOption | GetOption | 提供获取算法相关配置项,以唤醒词识别为例:获取唤醒词模型中输入输出的规模,输入规模即为唤醒词识别模型要求输入的MFCC特征的维度(固定值:4000),输出规模即为结果的置信度得分维度(固定值:2)。 |
| AieClientRelease | Release | 提供卸载算法模型功能,以唤醒词识别为例:实现卸载相关模型,并
将特征处理器中的动态内存清理
。 |
| AieClientRelease | Release | 提供卸载算法模型功能,以唤醒词识别为例:实现卸载相关模型,并
清理特征处理器中的动态内存
。 |
注意:
...
...
zh-cn/device-dev/subsystems/subsys-aiframework-demo-sdk.md
浏览文件 @
1978be24
# 唤醒词识别SDK的开发示例
1.
在//foundation/ai/engine /interfaces/kits目录中添加唤醒词识别SDK的API接口定义,该接口可用三方应用
的调用。如下代码片段即为唤醒词识别定义的API接口示例,其相关代码参考路径为://foundation/ai/engine
/interfaces/kits/asr/keyword_spotting。
1.
在//foundation/ai/engine /interfaces/kits目录中添加唤醒词识别SDK的API接口定义,该接口可用三方应用
进行调用。如下代码片段即为唤醒词识别定义的API接口示例,其相关代码参考路径为://foundation/ai/engine
/interfaces/kits/asr/keyword_spotting。
```
class KWSSdk {
...
...
@@ -23,7 +23,7 @@
};
```
2.
在//foundation/ai/engine/services/client/algorithm_sdk
的
目录中增加SDK中API接口的具体实现,调用client端提供的接口,实现算法插件能力的使用。如下代码片段即为唤醒词识别的API接口中create方法的具体实现示例,更多详细代码可参考://foundation/ai/engine/services/client/algorithm_sdk/asr/keyword_spotting。
2.
在//foundation/ai/engine/services/client/algorithm_sdk目录中增加SDK中API接口的具体实现,调用client端提供的接口,实现算法插件能力的使用。如下代码片段即为唤醒词识别的API接口中create方法的具体实现示例,更多详细代码可参考://foundation/ai/engine/services/client/algorithm_sdk/asr/keyword_spotting。
```
int32_t KWSSdk::KWSSdkImpl::Create()
...
...
@@ -76,5 +76,5 @@
上述代码为API接口的具体实现,从上述示例的代码中,SDK中create接口的具体实现即为上述示例代码中create方法,该方法调用了AI引擎框架client端开放接口AieClientInit,AieClientPrepare,从而实现与server端建立连接及加载算法模型的能力。
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> SDK调用AI引擎client端接口
顺序应遵循AieClientInit->AieClientPrepare->AieClientSyncProcess/AieClientAsyncProcess->AieClientRelease->AieClientDestroy
,否则调用接口会返回错误码。
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
<br>
> SDK调用AI引擎client端接口
应遵循AieClientInit->AieClientPrepare->AieClientSyncProcess/AieClientAsyncProcess->AieClientRelease->AieClientDestroy顺序
,否则调用接口会返回错误码。
zh-cn/device-dev/subsystems/subsys-aiframework-demo.md
浏览文件 @
1978be24
# 开发示例
以开发唤醒词识别为例,开发者可在Hi3516DV300开发板上,基于AI引擎框架开发唤醒词识别的SDK以及唤醒词识别的plugin,通过编译命令编出新的版本镜像并将其烧入版本。同时,开发者开发唤醒词识别的应用,该应用能够接收外部音频,将
listen到的音频传入SDK中的接口,
若音频中带有关键词,唤醒词识别的应用会识别出相应的词语,并打印在命令行中。
以开发唤醒词识别为例,开发者可在Hi3516DV300开发板上,基于AI引擎框架开发唤醒词识别的SDK以及唤醒词识别的plugin,通过编译命令编出新的版本镜像并将其烧入版本。同时,开发者开发唤醒词识别的应用,该应用能够接收外部音频,将
接收到的音频传入SDK中的接口。
若音频中带有关键词,唤醒词识别的应用会识别出相应的词语,并打印在命令行中。
本示例中唤醒词识别的场景中唤醒词是固定的,当开发者传入的音频包含
”Hi,小问“,启动的应用就会打印"[Hi, xiaowen]",当不包含时,会打印'
[UNKNOWN]"。
本示例中唤醒词识别的场景中唤醒词是固定的,当开发者传入的音频包含
“Hi,小问”,启动的应用就会打印"[Hi, xiaowen]",当不包含时,会打印"
[UNKNOWN]"。
-
**[唤醒词识别SDK的开发示例](subsys-aiframework-demo-sdk.md)**
...
...
zh-cn/device-dev/subsystems/subsys-aiframework-devguide-conf.md
浏览文件 @
1978be24
...
...
@@ -4,11 +4,11 @@
开发者开发的SDK通过AlgorithmInfo结构体中algorithmVersion以及algorithmType识别出具体的插件类型,实现插件能力的调用。因此开发者需完成以下步骤:
1.
代码路径//foundation/ai/engine/services/common/protocol/plugin_config/plugin_config_ini/
目录
中添加插件的配置文件。
1.
代码路径//foundation/ai/engine/services/common/protocol/plugin_config/plugin_config_ini/中添加插件的配置文件。
2.
代码路径//foundation/ai/engine/services/common/protocol/plugin_config/
aie_algorithm_type.h文件中
添加算法类型。
2.
代码路径//foundation/ai/engine/services/common/protocol/plugin_config/
中的aie_algorithm_type.h文件
添加算法类型。
3.
代码路径//foundation/ai/engine/services/server/plugin_manager/include/
aie_plugin_info.h文件中
添加唤醒词识别的算法名称及其在ALGORITHM_TYPE_ID_LIST中的序号。
3.
代码路径//foundation/ai/engine/services/server/plugin_manager/include/
中的aie_plugin_info.h文件
添加唤醒词识别的算法名称及其在ALGORITHM_TYPE_ID_LIST中的序号。
具体开发过程可参考
[
唤醒词识别配置文件开发示例
](
../subsystems/subsys-aiframework-demo-conf.md
)
。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录