重庆互联网,19年企业互联网解决经验,专业网站开发、移动端开发、微信端开发、小程序开发!
重庆网络推广公司

腾讯小微(13)— 使用流程

作者:重庆互联网小徐 发布时间:2024-04-26 浏览:19705 赞(1950 收藏 评论(0)

小微设备APP的主要功能及使用步骤为(以语音请求为例):

  1. 等待用户APP连接,连接成功后,由用户APP调用初始化接口,将设备信息传给小微设备APP,小微设备APP将进行鉴权和登录操作。

  2. 等待登录成功(登录成功前其它接口调用均会失败)。

  3. 设备唤醒,这个过程由您自己实现。在我们的demo中提供了一个唤醒模型,但这个模型仅供您体验使用,我们并不提供其商业licence。

  4. 由您自己实现录音,并使用小微的语音请求接口,不断将音频数据交给小微设备APP。

  5. 等待小微设备APP的异步回调,您可以在这些回调中获得ASR实时结果、最终响应及媒体资源等。

  6. 您自行展示ASR文本、answer文本、播放answer TTS和其它媒体资源(如音乐点播)。

  7. 一轮对话结束,下次请求从“4”重新开始。

  8. 当您不需要小微服务时,直接断开aidl即可。此时小微设备APP会自行logout,这就意味着每次您重新建立aidl连接时,都需要从1开始重复上述操作。

登录并启动小微服务

接入小微前,首先需要在小微的官方平台上注册,并获得产品标识ProductId(PID)。PID唯一标识了您的产品,假如您有两款不同的产品,建议申请两个PID,OTA以及其它定制服务以PID为粒度。

小微后台采用签名认证方式来确保您的设备的合法性。对于每一个PID,您需要使用我们提供的shell脚本或c++算法源代码或windows工具来自己生成一组秘钥对,并将公钥publickKey提供给我们;对应的私钥privateKey您应妥善保存,后续用于对您的设备进行签名,签名算法为ecdsa,具体信息可以参考对应的readme。我们获得公钥后,会为您分配一个秘钥版本KeyVersion(未来您可以更新秘钥并替换版本)。这个流程在网站上有详细说明,这里不赘述。

Login参数

在与设备APP建立连接后,需要调用登录接口,需要传入以下5个参数:

  • SN 设备serial number,字符串,应保证每台设备拥有唯一的SN

  • Licence 利用私钥对SN的签名结果(SN = ecdsa(SN + PID, privateKey)),显然这也是设备唯一的

  • KeyVersion 签名使用的秘钥版本,在官网上传publicKey时获得

  • PID 一个系列的产品PID均相同

  • appuin 与PID对应,注册时获得

特别说明

  • 一般的,privateKey应保存云端或产线中,在设备生产时生成上述5个参数,并烧录在设备中。建议不要将privateKey和签名算法保存在设备中,这样安全无法得到保证。

  • 在测试阶段,我们可以提供少量的测试账号供您直接使用。

  • 切勿多台设备以相同账号登录,会导致互相踢掉线。

语音请求

采音

在初始化完成后(onLoginComplete(0)),即可调用小微相关接口来发起小微语音请求。语音请求对音频数据的要求和注意事项:

  • 16位,16kHz,单声道pcm数据

  • 分片提交,每片大小为64~6400个数据点

  • SDK不会对声音进行压缩之外的任何处理,设备需要自行实现软硬件降噪和回声消除,以便达到更佳的识别效果

  • 小微团队会对设备的采音质量进行评估,您的设备采音质量需要达到相关规定

唤醒

设备唤醒由厂商自行实现,也可使用小微团队提供的唤醒方案。小微同时支持本地唤醒云端校验功能,可参考接口具体文档。在某些情况下,小微会主动要求设备唤醒,如多轮对话,此时厂商应按照小微的要求直接唤醒设备,并发起语音请求。注:当闹钟响起时,无屏设备唤醒或触碰任意按键即结束闹铃,有屏设备唤醒或触碰按钮即结束闹铃。

发起请求

简介

文本请求只需调用一次请求接口,语音请求则需要多次调用,以语音请求为例,您需要多次使用request (...)接口不断将语音数据发送给小微设备APP,设备APP会将数据压缩并上传至后台进行识别,在这个过程中,您会通过相应的回调接口(IAudioRequestListener.onRequest(...))收到一系列的ASR事件,如检测到说话,获得ASR结果等。在设备端可以进行相应的UI展示。一般的语音请求流程如下:

ASR

其中 Event 一般都会遵循如下顺序回调:

  1. ON_DIALOG_BEGIN (一轮对话开始)

  2. ON_SPEAK(开始说话)

  3. 多个ON_RECOGNIZE (持续收到中间结果)

  4. ON_SILENT (静音)

  5. ON_RESPONSE (收到响应)

  6. ON_DIALOG_END (一轮对话结束)

如上文所述,String IAIAudio.request(int type,in byte[] requestData, in XWRequestInfo param)是小微最关键的接口,语音或文本数据从这里输入。

当语音或文本请求时,每一轮请求有个唯一的ID(voiceID),即上述接口的返回值,如果请求失败,将返回空的ID。在一轮语音请求中,您需要多次调用该接口,其中第一个参数type为XWCommonDef.RequestType.VOICE,每次调用均会返回相同的ID。在请求过程中,会有若干事件从IAudioRequestListener.onRequest(...)接口中返回。

XWRequestInfo 是请求的上下文信息,每次请求都需要携带,这是维护多对话的标识,同时也配置了对话的一些属性,首轮请求时param.contextId应为空,多轮请求时应携带上一轮请求response中的这个参数。在每一轮请求中,第一次调用request(...)时应将param.voiceRequestBegin置为true。

特别说明

小微SDK提供文本请求的方式,即跳过ASR这一步,此时每次请求您只需要调用一次请求接口即可,此时requestData即为请求文本:

IAIAudio.request(XWCommonDef.RequestType.TEXT,in byte[] requestData, null);

重庆互联网项目从2004年开始为各行各业提供互联网发展解决方案,专业从事网站、小程序、微信公众号、APP、电商平台、系统等互联网平台开发,帮助企业实现从传统行业到互联网的完美转型。截止目前,重庆互联网合作的企业遍布全国各地,20年的开发经验和完善的售后服务体系获得合作客户的高度认可!

关注重庆互联网官方公众号,即可获取粉丝专享福利!

重庆互联网公众号二维码.jpg

网友留言评论
我要评论
评论

欢迎广大用户为此页面进行评价,评价成功将获得积分奖励!

  • 赞(0
    踩(0
重庆网站定制建设
  • 重庆网站建设平台
  • 重庆网站优化公司
  • 重庆网络推广公司哪家好
  • 重庆APP制作公司
版权所有 ©2004-2024 重庆市渝中区圣灵科技信息有限公司 渝ICP备16004600号-14 渝公网安备50010802001420号 电子营业执照
重庆公众号制作哪家好
二维码
联系客服 重庆商城网站建设