AI助手集成方案(Windows)
创建于 2020/05/28 10:09:14
修改于 2020/05/30 15:42:55
## SDK功能概述 AI助手Windows版本SDK为开发者提供了可应用于Windows系统的办公、娱乐等场景的语音助手能力。SDK集成了语音识别、语义理解、实时翻译等功能,如对着电脑说“打开PPT”、“打开Word”,“明天天气怎么样?”,“用英语翻译下:明天星期机?”,即可在设备上执行相应的操控,实现所说即可得,提升用户体验。 另外,我们研发出搭载SDK的硬件配套设备,硬件设备集成了成本低、稳定强、效果更棒的Castor语音芯片,提供支持双麦录音、语音唤醒、离线命令词等功能。实现在离线混合控制的特色能力,满足用户在任何场景的即插即用,张口即来。 ## SDK集成 SDK以Dll的形式提供给第三方集成,开发者只需将SDK作为引用集成到工程即可。 ### 1. SDK获取方式 如想要获取AI助手Windows版本的SDK,需先以邮件形式提交申请,发送至kefu@feiersmart.com,经过审核后,我们会将相关信息及SDK下发至您的邮箱。其中开发包包括了AI助手的接口以及一个控制台的Demo。 ### 2. SDK的设计和交互 SDK的设计如下图所示。 ![](/images/3/15/1590805268583.jpg) 其中,AIUI提供在线语音识别、合成、在线语义等能力;libUsbK是Windows开源的Usb通信模块;Protocol为固件和SDK的交互协议,用以处理固件和SDK的交互事件;Session抽象了SDK和App的会话模式,用以处理会话的生命周期,Vad事件,语音输入,翻译等。 #### - SDK事件 App通过监听SDK的事件以获取固件及SDK当前的状态信息,如状态事件、指令事件、语音输入事件、翻译事件等。事件都携带了需要处理的数据,App只需解析该数据进行处理即可。 ![](/images/3/15/1590822862279.jpg) ##### 1.状态事件 包括初始化状态,与设备的断开和连接状态,App的设置状态,会话状态等。 ##### 2.指令事件 离线语音识别出的所有预设指令都是通过该事件发送给App的。如“打开Word”,“打开计算器”等,通过解析获取到具体的指令信息后执行对应的指令。 ##### 3.语音输入事件 该事件主要处理语音输入的结果,开发者在此事件中可以获取语音转换的文字。 ##### 4.IAT事件 会话需要处理的语音转写事件,包括转写开始,转写中,以及转写结束。主要用以转写结果的拼接。 ##### 5.音量事件 SDK根据音频数据计算出的音量大小通过该事件不断通知给App。 翻译事件,暂不支持。 #### - Set/Get App通过SDK提供的set/get接口给设置SDK,详见下面的API描述。 #### - Session SDK通过Session来定义App当前的会话模式。用户可以通过语音指令切换会话,也可以通过SDK提供的Set接口手动切换。会话包括开始、结束,能处理当前会话的语音识别结果。不同的会话模式处理不同的语音信息。如指令会话,处理语音语义指令,语音输入会话只处理语音识别结果。 ## API描述 - void Feier_Assistant_initSdk(const char *appId, const char *assetDir, ISdkEventListener eventListener) ------------ - 描述: 初始化SDK - 参数: appId是通过邮件申请获取的应用唯一标识; assetDir,资源路径。用于存放SDK的资源,如VAD检测的jet文件以及离线命令词文件等; eventListener,是一个函数指针,用来监听SDK的事件。 - 返回值: 初始化的结果,通过状态事件同步给App。 - ISdkEventListener ------------ - 描述: typedef void (*ISdkEventListener)(int eventType, int arg1, int arg2, void *data); - 参数: eventType,事件类型,具体参见sdk_constants.h; arg1,主要用于区分事件,事件不同代表的含义也不一样,具体参见sdk_constants.h; arg2,携带该事件的数据; data,通常用来表示会话的指令信息,为json格式;也可以表示会话的语音识别结果等。 - 返回值: 无 - void Feier_Assistant_Connect(int vid, int pid) ------------ - 描述: 连接USB设备。 - 参数: vid,pid用来标识唯一的USB设备。 - 返回值: 通过状态事件返回给App。 - void Feier_Assistant_Disconnect() ------------ - 描述: 断开和USB设备的连接。 - 参数: 无 - 返回值: 无 - void Feier_Assistant_NotifySdk(NOTIFY_VALUE value) ------------ - 描述: 用于实时通知SDK更新当前状态。 - 参数: value,通知类型,如SPEECH_MODE,INSTRUCTION_MODE,更新当前的会话模式。 - 返回值: 无 - void Feier_Assistant_ReleaseSdk() ------------ - 描述: 退出时,调用此接口需要释放SDK资源。 - 参数: 无 返回值: 无
飞尔智能 版权所有 Copyright© 2019 All rights reserved.
飞尔智能开发者网站
分享到
打开微信“扫一扫”