AIUIChatSDK
ChatSDK :是对 AIUI 的语音 SDK 封装,套餐费用最低在 6 万/年
iflylib :是对原始 msc 的语音 SDK 封装,相对 AIUI 便宜很多
baidulib :是对百度语音 SDK 封装,百度号称永久免费
AIUITools :AIUI 网络测试工具-折线图动态测试可持续观测
共同特点:实现了全双工语音识别 iat、合成 tts、和语义 nlp 部分接口的封装,经过稳定测试,通过简洁的调用方式来满足开发需求。两者核心类都是 SpeechManager
参考文档:玩转 AIUI 后处理、讯飞论坛
参考项目:电视语音助手
重大亮点:全双工语音识别,不中断,不中断,不中断
ChatSDK 是基于讯飞的 AIUI 进行封装,使用简洁,您可以下载本项目,然后将ChatSDK作为 Module 导入你的项目使用
核心类:SpeechManager
功能包括:语音识别、语音合成、语音语义理解、文本语义理解
场景:(语音点读笔、AI 机器人、智能音箱、车载语音、家电语音、人机交互、在线教育机器人、语音鼠标、实时翻译、大屏广告互动、...)
落地产品公司:(牛听听、绿米联创、讯飞翻译、TCL-TV、小曼、优必选)
边听边识别: Respeaker 远场麦克风阵列 AI 智能语音识别开发板
使用说明:
1:将 chatsdk 作为 module 引入自己的项目
2:替换自己的 libaiui.so 库和 aiui_phone.cfg 中的 appid
3:安装成功后,确保权限打开,跟手机说话,会有结果返回
相关接口使用
step1 : 初始化语音合成、识别模块
SpeechManager.CreateInstance(getApplicationContext());
step2 : 设置语音识别和语义的回调
SpeechManager.getInstance().setBaseSpeechCallback(speechCallback);
step3 : 语音识别和语义理解的回调
BaseSpeechCallback speechCallback = new BaseSpeechCallback() {
/**
* 通过识别语音得到文字
*
* @param text 识别后的文本
*/
@Override
public void recognizeResult(String text) {
//语音识别结果
}
/**
* @param text 返回三方语义结果,可直接 speak 出来
* @param json 返回三方语义结果 json 串,可根据需求自行解析
*/
@Override
public void nlpResult(String text, String json) {
//语义理解结果
SpeechManager.onSpeaking(text);
}
};
step4 : 错误码回调接口
/**
* 设置错误回调接口
*
* @param callback 传入错误信息回调接口
*/
public void setErrorInfoCallback(IErrorInfoCallback callback) {
iErrorInfoCallback = callback;
}
疑难问题:
1:讯飞服务有时候不稳定的情况:封装专门的测试工具
2:讯飞的服务器稳不稳定,对讯飞的 HTTP 和百度这种三方网站进行封装,实时的观察讯飞当前网络的链接 UI 动态情况
3:vad 前后置端点的处理, 解决跟 interact_timeout 两者之间互相影响的问题
4: 离线语音合成 TTS 不用讯飞语记
5:需要等 2 小时测试一下,但是热词并不是绝对的,只是增加热词的被识别出来的概率。
6:清除历史
AIUI 支持多轮对话,如在问合肥今天的天气怎么样之后,再询问明天的呢,AIUI 会结合上一句询问合肥今天 天气的历史,就会回答合肥明天的天气。
AIUI 默认在休眠后唤醒会清除交互历史,在交互状态下唤醒,则不会清除交互历史。
AIUI 清除历史的方式是可配置的,默认为 auto 即是上面描述的模式。当配置成 user 值后, 用户可以通过发送 CMD_CLEAN_DIALOG_HISTORY 在任何时候手动清除交互的历史。即使在上面两种情况下,客户端没有主动清除交互历史,服务端保存用户交互历史的时间也是有限的,当用户交互超过 5 轮后,服务端也会将交互历史清空。
7:AIUI 的 SDK 出现网络 10120 问题,实际是 anzer5G 网络来回切换导致网络不稳定,换了高功率的 HRR-Test(anzer2017)后正常.
8:上传热词无法通过客户端 SDK 进行,单纯的热词仅可通过网页端进行上传,如果您逐步深入了解了所见即可说、动态实体等高级特性就会发现上传的实体等资源本身就是热词的一种。
9:AIUI 主动在线合成有时会出现卡顿,建议使用离线合成
10:AIUI 不支持识别语种的切换,只有通过情景模式来切换自己想要的语种
11:关于 AIUI "continuous" 会识别到自身合成语音问题
12:H264 音视频对讲开发
13: [思必驰语音的特点是支持高度定制化,支持定制后台语义透传] (https://www.duiopen.com/console/product/index.html#/products)
14:Android 基于 MediaBroswerService 的 App 实现概述
14:(未完待续。。。)
联系方式: QQ 群: 673450581 个人 QQ:1094035520 昵称:肥兔子
