AIUI接入概述
AIUI包含声学接入、交互接入。需要打断交互或远场交互的智能设备才需要声学接入。

交互接入
接入方式
AIUI支持硬件、SDK、WebSocket API接入。
SDK
SDK支持 Android、iOS、Linux、Windows 平台。Android 平台提供 Java封装,其它平台的接口函数均为 C/C++ 封装。 AIUI平台的SDK默认配置1mic算法,如需多麦算法请联系商务。WebSocket
AIUI WebSocket API 接口,适用于各种编程语言,以及各种系统,甚至单片机,支持多路并发。同时支持流式交互,低延迟,双向通信。硬件
AIUI 评估板(量产板)是 AIUI 软硬一体解决方案,讯飞魔飞智能麦克风是成品级解决方案。相比 AIUI SDK 具有远场拾音、回声消除,全双工交互的特点。| 功能依次递增 | 方式 |
|---|---|
| 音频文件、文本语义 | WebSocket API |
| 单路音频流识别、自动断句 | SDK |
| 远场拾音、自动降噪 | AIUI 评估板(量产板) |
| 成品级解决方案 | 讯飞魔飞智能麦克风 |
WebSocketAPI接入
示例代码
接口说明
AIUI 服务基于 WebSocket 协议,包括:建立连接、通信、断开连接。 注意:本接口是短连接,每次交互要新建连接,会话完成后,讯飞断开连接。单次会话过程中支持流式交互(客户端不断上传音频数据,讯飞不断下发结果) 交互时序图:
- 设备有vad功能,交互时序:

- 设备无vad功能,依赖云端vad,交互时序:

精简协议接入
概览
精简协议简化了标准语义协议。适用于低算力设备。 标准协议缺陷:1.不同技能的result字段不同,设备端解析不便
2.有n个技能就需要解析n个service
3.RTOS设备的内存不足以解析完整协议
精简协议内容
精简协议规整了媒资类和播报类技能,其中媒资类技能指的是需要从data.result字段中拿到播放的url进行播放,而播报类技能则指的是只需要播报answer内容的技能。 一、媒资类技能的协议修改点:- 新增service_pkg字段,表示技能的精简协议类型,将官方媒资类技能统一打包,通过 service_pkg=”media”标识;客户端只需要判断该字段即可对媒资类技能统一处理;
- 针对媒资类技能,data.result字段只保留4个:
| 字段 | 类型 | 说明 |
|---|---|---|
| itemid | String | 资源ID |
| uni_url | String | 资源地址 |
| duration | String | 资源播放持续时间 |
| name | String | 资源名称 |
- 针对媒资类技能,data.result数组长度缩减到5条。
- 新增service_pkg字段,表示技能的精简协议类型,将播报类技能统一打包,通过 service_pkg=”broadcast”标识;客户端只需要判断该字段即可对播报类技能统一处理;
- 播报类技能,data.result数组中不再返回数据。

精简协议技能列表
一、媒资类技能列表:| service | 中文名 | 类型 |
|---|---|---|
| AIUI.audioBook | 有声书 | 媒资类 |
| AIUI.Bible | 圣经 | 媒资类 |
| AIUI.chCultivation | 儿童兴趣培养 | 媒资类 |
| AIUI.chDevelopment | 儿童学堂 | 媒资类 |
| AIUI.chLiterature | 国学 | 媒资类 |
| AIUI.chSong | 儿歌 | 媒资类 |
| AIUI.meditationTime | 冥想时刻 | 媒资类 |
| AIUI.ocularGym | 眼保健操 | 媒资类 |
| AIUI.sleepWell | 好好睡觉 | 媒资类 |
| AIUI.smarter | 越听越聪明 | 媒资类 |
| AIUI.whiteNoise | 白噪音 | 媒资类 |
| animalCries | 动物叫声 | 媒资类 |
| crossTalk | 相声小品 | 媒资类 |
| drama | 戏曲 | 媒资类 |
| englishEveryday | 英语每日一句 | 媒资类 |
| health | 健康讲座 | 媒资类 |
| history | 历史 | 媒资类 |
| KLLI3.studyPinYin | 我想学拼音 | 媒资类 |
| LEIQIAO.funnyPassage | 搞笑段子 | 媒资类 |
| LEIQIAO.openClass | 公开课 | 媒资类 |
| LEIQIAO.speech | 名人演讲 | 媒资类 |
| musicX | 音乐 | 媒资类 |
| musicX_dialect | 音乐方言版 | 媒资类 |
| news | 新闻 | 媒资类 |
| novel | 有声小说 | 媒资类 |
| radio | 广播电台 | 媒资类 |
| story | 故事 | 媒资类 |
| storyTelling | 评书 | 媒资类 |
| service | 中文名 | 类型 |
|---|---|---|
| KLLI3.FamilyNames | 百家姓 | 播报类 |
| baike | 百科 | 播报类 |
| AIUI.2bd672cefd | 猜数字 | 播报类 |
| lottery | 彩票 | 播报类 |
| cookbook | 菜谱 | 播报类 |
| AIUI.e09af9377o | 成语接龙 | 播报类 |
| wordsDictionary | 词典 | 播报类 |
| AIUI.unitConversion | 单位换算 | 播报类 |
| translation | 翻译 | 播报类 |
| college | 高校查询 | 播报类 |
| AIUI.collegeScore | 高校分数线 | 播报类 |
| KLLI3.powerScaler | 功率换算 | 播报类 |
| stock | 股票 | 播报类 |
| LEIQIAO.cityOfPro | 国内城市查询 | 播报类 |
| AIUI.forex | 汇率 | 播报类 |
| AIUI.f65cf38453 | 会说话的小鹦鹉 | 播报类 |
| AIUI.calc | 计算器 | 播报类 |
| LEIQIAO.relationShip | 家族关系神器 | 播报类 |
| holiday | 假期安排 | 播报类 |
| AIUI.cd756aff0p | 剪刀石头布 | 播报类 |
| petrolPrice | 今日油价 | 播报类 |
| KLLI3.numberScaler | 进制转换 | 播报类 |
| AIUI.famousQuotes | 经典名句 | 播报类 |
| LEIQIAO.timesTable | 九九乘法表 | 播报类 |
| AIUI.85beebdd4t | 口算挑战 | 播报类 |
| garbageClassify | 垃圾分类 | 播报类 |
| LEIQIAO.historyToday | 历史上的今天 | 播报类 |
| AIUI.b1ed7474c9 | 谜语 播报类 | |
| AIUI.20aafd8b1r | 脑筋急转弯 | 播报类 |
| AIUI.ac140b7894 | 抛硬币 | 播报类 |
| carNumber | 汽车尾号限行 | 播报类 |
| chineseZodiac | 生肖运势 | 播报类 |
| ZUOMX.queryCapital | 省会查询 | 播报类 |
| poetry | 诗词 | 播报类 |
| AIUI.179c5b26by | 诗词挑战 | 播报类 |
| datetimePro | 时间日期查询 | 播报类 |
| AIUI.WorldCup | 世界杯 | 播报类 |
| KLLI3.captialInfo | 首都查询 | 播报类 |
| LEIQIAO.BMI | 体重指数查询 | 播报类 |
| weather | 天气 | 播报类 |
| weather_dialect | 天气方言版 | 播报类 |
| AIUI.114c02b04p | 跳数字 | 播报类 |
| calendar | 万年历 | 播报类 |
| joke | 笑话 | 播报类 |
| AIUI.virusSearch | 新冠疫情查询 | 播报类 |
| constellation | 星座 | 播报类 |
| dream | 周公解梦 | 播报类 |
| EGO.healthKnowledge | 健康知识 | 播报类 |
| EGO.foodsCalorie | 食物热量 | 播报类 |
admin 2024年4月29日 18:38 转发文档 收藏文档
离线命令词
概览
常用语音指令可以在本地识别,优势是响应快,不依赖网络。但是效果比在线差。 在线处理逻辑:
离在线处理逻辑:
## 使用步骤
### 获取离线功能SDK
联系技术支持说明需求并获取离线功能SDK包。
接入使用
添加配置
aiui.cfg中增加离线命令词相关配置:Copy
"speech":{"intent_engine_type":"mixed"},"esr":{"engine_type": "wfst_fsa","pgs_enable": "1","res_type":"assets","res_path":"esr/common.jet","preloads": [{"id": 0,"res_type": "assets","res_path": "esr/contact.jet"}]},
配置文件说明
intent_engine_mode控制音频到语义结果的解析方式,取值有:- cloud 纯云端解析,全部使用云端语义和听写功能,只返回在线结果

- local 纯离线命令词解析,只使用本地的离线命令词功能,只返回离线结果

- mixed 云端本地同时解析,返回最快的有效结果

- pipe 本地优先解析,如果有效即返回如果无效请求在线语义返回结果

- wfst 离线听写模式
- wfst_fsa 离线听写+离线命令词匹配模式
- fsa 离线命令词匹配模式
- 1 开启
- 0 关闭
编写语法文件
离线命令语法是使用 FSA 描述的语法。示例离线语法如下:格式说明:
#FSA 1.0;0 1 <action>1 2 <contact>2 3 -2 3 <phoneType>;<action>:拨打|呼叫|打电话给;<contact>:张三|李四;<phoneType>:移动号码|家庭号码|单位号码;
- 以#开头的行表示注释行;
- 以<开头表示slot槽定义,冒号后面是slot的值定义。slot的即可以在语法文件中定义,也可以通过下面章节介绍的方式进行更新;
- 以数字开头行表示句式网络定义,上面示例语法网络定义可视化表示如下:

翻译模式
概览
翻译模式:先进行语音识别,再把识别文本翻译翻译技能:用特定句式(翻译一下,翻译成等)才会翻译,否则命中其他技能
用户:今天天气?翻译模式:How is the weather today?天气技能:天气晴用户:苹果翻译成英语翻译模式:Translate apples into English翻译技能:apple
使用方法
1.AIUI平台应用配置页面添加情景模式,选择语音翻译,如下图:
(1)修改aiui.cfg的scene字段,为第一步中设置的情景模式名称
(2)添加attachparams字段,示例:
流式识别
概览
流式识别:边说边返回识别结果
开启方法
参数说明
给13856901234充100元话费识别回调EVENT_RESULT事件,判断sub=iat:Copy
{"sn":1,"ls":false,"bg":0,"ed":0,"pgs":"apd","ws":[{"bg":0,"cw":[{"sc":0.00,"w":"给"}]}]}{"sn":2,"ls":false,"bg":0,"ed":0,"pgs":"rpl","rg":[1,1],"ws":[{"bg":0,"cw":[{"sc":0.00,"w":"给"}]},{"bg":0,"cw":[{"sc":0.00,"w":"1385"}]}]}{"sn":3,"ls":false,"bg":0,"ed":0,"pgs":"rpl","rg":[1,2],"ws":[{"bg":0,"cw":[{"sc":0.00,"w":"给"}]},{"bg":0,"cw":[{"sc":0.00,"w":"13856"}]}]}{"sn":4,"ls":false,"bg":0,"ed":0,"pgs":"rpl","rg":[1,3],"ws":[{"bg":0,"cw":[{"sc":0.00,"w":"给"}]},{"bg":0,"cw":[{"sc":0.00,"w":"138569"}]}]}......{"sn":21,"ls":false,"bg":0,"ed":0,"pgs":"rpl","rg":[1,20],"ws":[{"bg":0,"cw":[{"sc":0.00,"w":"给"}]},{"bg":0,"cw":[{"sc":0.00,"w":"13856901234"}]},{"bg":0,"cw":[{"sc":0.00,"w":"充"}]},{"bg":0,"cw":[{"sc":0.00,"w":"100"}]},{"bg":0,"cw":[{"sc":0.00,"w":"元"}]},{"bg":0,"cw":[{"sc":0.00,"w":"话费"}]}]}{"sn":22,"ls":true,"bg":0,"ed":0,"pgs":"apd","ws":[{"bg":0,"cw":[{"sc":0.00,"w":"。"}]}]}
- sn:当前的结果id
- ls:是否为最后一条结果
- pgs:结果处理字段,apd(追加结果),rpl(替换结果)
- rg:替换范围
语义VAD
功能
语音vad:等待用户说话时间是一个固定时间(参数vad_eos可设置),稍微停顿就结束对话了; 语义vad:用语义完整概率判断是否结束对话。动态调整VAD等待时间(最大1.8s)。如果客户说话快,说完迅速响应结果。如果客户说话慢,就会等1.8s,超时也认为说话结束开启方法
1. AIUI平台,开启语义VAD5. 注意:语义vad目前只支持远场识别
//这是本地的 VAD 后端点时长, 语义vad只会等 1.8s,所以本地可以设置为 2s"vad_eos":"2000",//开启云端 VAD 的配置"cloud_vad_info":"end"
发音人列表
发音人列表
除了免费发音人,其他需要付费| 发音人名称 | vcn 取值 | 语言 | 音色 |
|---|---|---|---|
| 聆小樱(免费) | x4_lingxiaoying_em_v2 | 普通话 | 成年女声 |
| 聆小璇(免费) | x4_lingxiaoxuan_chat | 普通话 | 成年女声 |
| 讯飞小娟(免费) | x2_xiaojuan | 普通话 | 成年女声 |
