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平台应用配置页面添加情景模式,选择语音翻译,如下图: 2.固定设置翻译参数(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平台,开启语义VAD 2. 点击保存和发布。(两分钟生效)。 3. SDK配置为continue模式 4. sdk配置文件aiui.cfg 中的 vad 配置段添加一下内容:5. 注意:语义vad目前只支持远场识别
//这是本地的 VAD 后端点时长, 语义vad只会等 1.8s,所以本地可以设置为 2s
"vad_eos":"2000",
//开启云端 VAD 的配置
"cloud_vad_info":"end"
发音人列表
发音人列表
除了免费发音人,其他需要付费发音人名称 | vcn 取值 | 语言 | 音色 |
---|---|---|---|
聆小樱(免费) | x4_lingxiaoying_em_v2 | 普通话 | 成年女声 |
聆小璇(免费) | x4_lingxiaoxuan_chat | 普通话 | 成年女声 |
讯飞小娟(免费) | x2_xiaojuan | 普通话 | 成年女声 |