ROKID 前端语音快速集成指南

官方教程

(薯) #1

完整的下载地址 ,其包含了:前端激活,降噪,VAD,寻向,音墙,仲裁;NLP语音识别,语义理解;ASR语音识别;TTS语音合成等等。支持 Android 4.4 及以上版本。

git clone https://github.com/Rokid/rokid-openvoice-process-android-ndk.git -b deprecated

使⽤步骤:

第⼀步:ROKID账号体系

1、进入Rokid开放平台申请Rokid账号,已经有Rokid账号的同学可直接登录(但需进行部分信息补全)。
2、登录后点选「语音接入」进行设备认证信息申请。
3、具体做法:语音接入 > 创建新设备 > 填写设备名称 > 创建认证文件。之后您将获得:
account_id、device_type_id、device_id、secret、key

把得到账号填⼊到 rokid-openvoice-process-android-ndk/assets/etc/openvoice_profile.json 这个⽂件被编译到 system/etc/ ⽬录

第二步:打包(非常重要)

默认使用附件1开发板配置。如果是其他的开发板可以添加配置文件,如何配置见附件2,将配置文件放到 rokid-openvoice-process-android-ndk/assets/etc 目录,命名方式以 blacksiren_xxxx.json,然后在 device/<company>/<device>/device.mk Makefile 中添加宏定义 ROKID_BLACKSIREN_CONFIG := xxxx,以后整编便会使用该配置。最后在您产品的 device/<company>/<device>/device.mk Makefile 中添加如下代码

注意路径 
include rokid-openvoice-process-android-ndk/device/amlogic/p230/openvoice.mk

第三步:编译

将 sdk 放到 Android 源码目录下,第一次需要完整编译, 编译成功之后将镜像刷入开发版,后续 mm 编译即可。最终会以一个 Android 标准应用程序,被放到 /system/priv-app/ 目录下自动运行。

编译完成后可以在如下⽬录下拿到BearKid Jar包获取 NLP 消息
out/target/common/obj/JAVA_LIBRARIES/BearKidAdapter_intermediates/classes.jar

附件1:

附件2:

未完待续。。。


如果获取麦克风阵列唤醒和拾音技术?
(zhaolin) #2

赞!


(chao.xuc) #3

cool


(qijiasi001) #4

顶一个:fries:


(ahtan) #5

有性能数据吗?多久完成一次识别?


(薯) #6

还没有比较精准的数据,一般输入完一段语音1秒内就能识别成功


(garl) #7

手工赞一个,很有用。


(yanghong) #8

上述页面中提到的几个 deps 库目前看不到,无法下载。

请问大概什么时候会有?


(chen.zhang) #9

git clone https://github.com/Rokid/rokid-openvoice-sdk-deps-fastjson.git
git clone https://github.com/Rokid/rokid-openvoice-sdk-deps-protobuf.git
git clone https://github.com/Rokid/rokid-openvoice-sdk-deps-grpc.git
现在都有了,请再试试。


(panp85) #10

这个工程放入android 6.0,报如下错误:
make: *** 没有规则可以创建“out/target/product/xxxx/obj/EXECUTABLES/runtime_intermediates/import_includes”需要的目标“out/target/product/xxxx/obj/SHARED_LIBRARIES/libjsonc_intermediates/export_includes”。 停止。
请问如何解?


(薯) #11

请按照如下修改再试试,注意”\“后面不能有空格
rokid-openvoice-sample-android/Android.mk

           $(LOCAL_PATH)/../BlackSiren/thirdparty/libjsonc/include \
           $(LOCAL_PATH)/../speech/include 

####修改为:
rokid-blacksiren/thirdparty/libjsonc/include
speech/include


(feiyzhang) #12

楼主 这个东西需要编译android 源码吗? github上的sample代码 并没有framework文件夹啊?


(薯) #13

需要放到Androdi源码中编译,为了减少对Android的修改,framework里的内容已经移到packages/RuntimeService中。


(feiyzhang) #14

楼主 这个东西门槛有点高啊 能给个通俗易懂点的吗?


(薯) #15

这里的代码逻辑主要是为了把blacksiren(识音)speech(语义理解)串起来,接口文件为 :

rokid-blacksiren/include/siren.h
rokid-openvoice-sdk/include/speech.h

(feiyzhang) #16

楼主 这个编译完代码 需要再烧录到板子上吗?


(feiyzhang) #17

楼主 这个编译完源码之后 还要在烧录到板子上吗?


(薯) #18

是的,不过还有很多注意事项, 参考https://github.com/Rokid/rokid-openvoice-sample-android一二三条,init.rc中添加启动项(参考这篇博客), 联网下调试


(feiyzhang) #19

谢谢楼主回复 那是否有打包好的sdk 直接集成到app里面可以使用的?


(薯) #20

你指的是从Siren拾音到Speech的NLP结果返回?这个还没来的急测试,这里有一个大概的思路,你可以尝试https://github.com/Rokid/rokid-openvoice-speech-app,遇到问题可以一起讨论。