时代拓灵离线自定义语音唤醒词SDK集成调试过程
离线自定义唤醒词顾名思义,省去上传语音到云端在处理返回结果,直接在本机上进行处理,对于特定的词语给予反馈,不受网络环节因素限制,随时随地,自由操控
集成步骤
- 前往时代拓灵官网下载离线唤醒词SDK demo
http://yun.twirlingvr.com/index.php/home/sdkdownload/index.html
- 前往时代拓灵官网注册对应sdk试用项目,申请appid,设置app密码
注意:时代拓灵提供的试用项目,只有14天的试用期,并且20个装机量项目
http://yun.twirlingvr.com/index.php/home/sdkdownload/addTestPro.html
创建成功后页面右上角点击个人中兴->项目管理查看自己申请到的appid
- 生成唤醒词配置文件
http://yun.twirlingvr.com/index.php/home/index/interaction.html
注册登录时代拓灵,页面向下翻,可以找到导出配置文件,根据要求选择唤醒语言,输入唤醒词每个唤醒词用#隔开,并且在下方输入每个唤醒词的对应阈值也同样使用#号隔开。点击导出配置文件,浏览器会自动下载一个xxxxx.dat文件这就是你的配置文件了。
- 解压下载的SDK demo
解压后的文件夹是一个安卓工程,大致目录用途如下
Audio 存放一个测试音频,可以用于通过读取音频方式测试唤醒
Res res下存放了两个文件分别为model.bin和xxxxx.dat,model.bin是模型文件,xxxxx.dat是配置文件,用于设置唤醒词以及阈值
Libs 下是存放的唤醒时调用的动态库
- 集成调试Demo
注意:Demo需要文件读写权限和网络权限;
将之前生成的配置文件以及模型文件拷贝到手机存储中,并且记下路径。
使用Android Studio打开解压后的SDK demo,打开android_sdk\app\src\main\java\com\twirling\sdk\sdk_test\MainActivity.java文件,首先在onRequestPermissionsResult()方法中的WakeupInit()方法中填入自己申请到的appid和设置的密码,以及上一步中记下的手机中模型文件路径和配置文件路径。当填写完这些信息后,SDK Demo就可以正式工作了,十分简单。
测试SDK功能
时代拓灵SDK编译完成后在手机上运行如下图
顶部两个按钮分别对应两个功能:通过手机mic测试唤醒和通过已存储的音频测试唤醒
中间区域是信息展示,统计唤醒次数,以及本次唤醒的得分。
底部是当前加载的配置文件信息,比如我测试的这个就是救命和来人两个词语,每个词语的阈值都设置的0.7;
使用过程SDK正常运行后,点击mic按钮,对着手机说出之前设置好的唤醒词,就会看见唤醒次数在不断累加,表明正确唤醒了。
如何集成进自己项目小经验
1. 将Demo导入IDE,跑起来。
2. 查看layout中的activity_main.xml布局找到功能控件。
3. 根据控件ID,在代码找到对应功能的的代码。
4. 找到功能的核心代码以后,看看当前的方法或者类在哪里有用到,怎么用的,是如何初始化的然后集成到自己的工程里,就OK了。
Tips:
1、离线命令词识别支持多少命令词?
离线识别的命令词是开发者自己定义,命令词最大长度为8个汉字。需要先构建语法,然后指定使用的语法。
2、装机量怎么定义的?
装机量授权:离线命令词识别按照装机量收费,购买后即获得相应授权。装机量按照使用了开发者应用的终端设备信息进行统计,即在终端设备上安装了应用并启用了离线引擎,即记为一个装机量。同一个终端设备上卸载(重装)应用均记为一个装机量,不重复计数。