AIUI常见问题


常见问题

  • 交互次数计量方式
以单次会话发送结束帧后,云端有正常结果下发(异常不消耗次数)算一次会话。单次会话不区分下发结果和类别,例如应用配置 识别+语义+合成 能力,那么一次音频请求,下发的识别、语义、合成结果,算一次交互。
  • 每次交互用什么来标记会话
语义结果有个sid=“xxxx”的字符串,sid就是该路会话的唯一标记。遇到问题时请提供sid给讯飞排查。
  • AIUI支持方言和多语种的识别和语义理解吗?
关于方言和多语种识别:AIUI目前支持的语种包括中文和英文,中文普通话、粤语和四川话识别。其他语种需要提交工单进行商务申请。
关于多语种语义理解:AIUI的官方开放技能(音乐、天气等)不支持英文语义理解,但是开发者可以通过开发自定义技能实现英文语义理解。英文技能不支持模糊匹配。
  • 麦克风阵列和aiui评估板的区别
AIUI评估板(量产板)包含麦克风阵列。麦克风阵列是前端声学解决方案,输出唤醒信号和处理好的单路音频。
  • 在国外能使用AIUI吗?
可以,国外比国内响应慢一点。
  • AIUI支持离线识别吗?
AIUI 本身不具备离线识别和语义理解的能力,但是支持和离线命令词能力混合使用。用户编写离线命令词abnf脚本并集成客户端SDK可以实现离线命令词识别,具体用法参考文档离线命令词使用
有一点需要注意,离线识别更适用于命令词(上一首、下一首)等短小的命令词。当开发者语料非常复杂时编写的abnf会相对复杂,adbnf脚本开发请参考abnf语法开发指南 + 单麦、双麦克风阵列可以用AIUI方案吗? 麦克风只是前端拾音方案,AIUI SDK 本身不具备降噪能力,接受单路音频。如需降噪方案可以选择讯飞麦克风阵列或者 AIUI 评估板(量产板)
  • 识别热词的生效时间
应用级热词生效<60分钟、用户级热词生效<10分钟,所见即可说的资源立刻生效。
  • 麦克风阵列输出的音频是什么?
麦克风阵列把6路音频送进算法引擎,做声源定位,降噪,确定唤醒方向后,把处理后的音频输出,最后输出是16k/16bit,双声道数据。但由于两个声道数据完全一致,本质上是单声道数据。
  • CMD_WAKEUP之后不能立即CMD_SYNC
CMD_WAKEUP之后等状态变化后就可以同步数据了
  • ARM,MIPS 架构如何下载 SDK
因为开发板的编译器过多,我们无法编译全部架构的 SDK,讯飞提供付费的交叉编译服务。
如果只需要AIUI在线能力(语音识别,语义理解,语音合成)699元/次。
需要唤醒,离线合成等离线能力时,899元/次。请发邮件申请。
  • 内容开小差 RC3
请求信源有问题、URL的访问问题可能包括网络访问问题,播放格式支持问题,还有https证书过期。
  • 诗歌对答中出现的K0\K3 是为了什么
这个标签是为了做提高合成效果做的合成的标记,开发者可以通过正则表达式自行过滤。
  • AIUI SDK linux、windows、ios、android 是否都支持语音和文本语义
是的
  • windows 支持8k音频么
只支持16k
  • AIUI 的收费标准?
应用含500次/天的测试量;正式量产提高限制可以发送邮件至aiui_support@iflytek.com咨询合作。
  • 多轮对话多久退出
服务端保存最长120s
  • 在aiui中可以手动清除交互历史,想在多轮对话结束后清除交互历史,那语义json中判断多轮交互的结束的依据是什么?
AIUI支持多轮对话,如在问合肥今天的天气怎么样之后,再询问明天呢,AIUI会结合上一句询问合肥今天天气的历史,就会回答合肥明天的天气。
AIUI默认在休眠后唤醒会清除交互历史,在STATE_WORKING状态下唤醒,则不会清除交互历史。
AIUI清除历史的方式是可配置的,默认为auto即是上面描述的模式。当配置成user值后,用户可以通过发送CMD_CLEAN_DIALOG_HISTORY在任何时候手动清除交互的历史。
即使在上面两种情况下,客户端没有主动清除交互历史,服务端保存用户交互历史的时间也是有限的,当用户交互超过5轮后,服务端也会将交互历史清空。
  • AIUI中使用唤醒功能需要单独集成MSC中的VoiceWakeUper吗?
不需要了。为了方便开发者可以快速在AIUI中集成语音唤醒功能,AIUI SDK内部封装了语音唤醒的调用逻辑,实现了动态调用。开发者只需将唤醒词和下载的SDK(libmsc.so或msc.dll)放置到相应位置然后进行配置便可以体验唤醒功能。具体使用方法参考语音唤醒功能
  • AIUI 支持自己录音写入SDK吗?
支持。AIUI SDK不仅支持SDK内部录音(Android平台内部封装了系统录音机),还支持外部音频写入。外部音频写入适用于开发者有自己的音频采集方式,只需将采集的音频不断写入SDK内部即可。不同音频采集可以通过参数配置来实现
  • 调用AIUI的SDK时,CMD_START_RECORD只支持Android,那么我要在Linux和Windows下如何录音?
Linux平台和Windows平台SDK录音在不同的发行版本上略有不同,SDK内部很难设计出一套兼容各个版本的内部录音机。因此我们在Unbuntu和Win7上分别使用 Alsa 和 Wavein 实现了音频采集并将源码开放。
LINUX平台ALSA录音+AIUI SDK实现语音交互方案分享
Windows平台Wavein录音+AIUI SDK实现语音交互方案分享 + AIUI支持一直保持唤醒状态吗? 不支持。当距离最后一次有效语义结果(字段rc不为4)超过设置的时间时,AIUI将进入休眠状态,用户想要再次交互必须重新唤醒。超时休眠时间设置范围是 [10000,180000) ms,设置方式参考参数设置
  • continues和oneshot交互模式有什么不同?
continues适用于一次唤醒多次交互的方式;oneshot支持一次唤醒一次交互的方式。在有麦克风阵列的移动端continues交互模式体验更加方便,在需要按住按钮说话的移动端oneshot交互模式更加适用。开发者可以根据自己的产品特性和功能进行甄选。
  • continues 和 oneshot模式支持音频一直写入吗?
无论是 continues 还是oneshot,云端支持每次1min持续音频写入,开发者不能持续不断的向云端写入音频。
  • Android移动端想通过蓝牙耳机录音录音跟AIUI交互怎么办?
开发者在集成AIUI 移动版SDK时会有这样的需求,蓝牙耳机连接手机,音频从蓝牙耳机而不是手机自带麦克风送入AIUI SDK。80%的Android手机连接蓝牙耳机后音频通道会自动切换,开发者不需要关心底层具体实现,使用AIUI的CMD_START_RECORD就可以正常捕获音频。但观察我们的开发者,的确存在某些蓝牙耳机连接手机后无法正常获取音频。针对这种情况,我们建议开发者采用外部录音的方式与AIUI进行交互。所谓外部录音,即我们不通过CMD_START_RECORD开启SDK 内部录音方式,而是通过自己的方案采集到16k 16bit音频后通过CMD_WRITE的方式写入AIUI进行交互。这两种方式都不复杂,甚至采用外部录音的方式可能在某些订制设备上具备更好的扩展性和移植性。
  • 蓝牙耳机连接手机设备后无法采集到录音数据是怎么回事?
有时开发者会发现,手机连接蓝牙耳机后,音频无法通过耳机传到手机上。造成这个问题的根本原因是android系统的录音通道没有切换,我们不去深究录音通道没有切换的具体原因,因为这与蓝牙设备和Android固件订制版本比较多有关。但我们有必要跟科普一下蓝牙连接的两种思路:A2DP及SCO。A2DP是一种单向的高品质音频数据传输链路,通常用于播放立体声音乐;而SCO则是一种双向的音频数据的传输链路,该链路只支持8K及16K单声道的音频数据,只能用于普通语音的传输。两者的主要区别是:A2DP只能播放,默认是打开的,而SCO既能录音也能播放,默认是关闭的。既然要录音肯定要打开sco,因此识别前调用上面的代码就可以通过蓝牙耳机录音了,录完记得要关闭。

评估板常见问题


评估板常见问题

  • 评估板提示网络有点问题,我去休息了错误
该播报由超时错误10120引起。交互语音上传后,听写或者语义结果没有在特定时间(配置文件result_timeout定义)返回,则会出现10120错误。
出现10120错误的原因有可能是网络状态差或者服务器处理缓慢的原因,可以按照如下方式验证排查:
  1. - <font style="color:rgb(51, 51, 51);">通过在AIUI模块上ping aiui.openspeech.cn检查本地到服务端的链接情况</font>
  2. - <font style="color:rgb(51, 51, 51);">将开启日志的msc.cfg放入/sdcard/msc/下,交互复现超时的问题,然后将/sdcard/msc/下的日志文件pull出来,发送给技术支持分析。</font>
  • 评估板发音人替换后其他声音改变,但是唤醒后还是萌萌的声音
目前处理唤醒为了更好的体验效果,AIUIProductDemo播放的是录制好的音频,而不是合成的声音。所以换了合成资源,只会影响后面交互的合成播放。如需修改,可以通过修改开发包中开放的AIUIProductDemo中对应位置源码实现。
  • 替换配置文件后,开机后提示APPID未配置
如果SD卡下的aiui.cfg配置文件不是UTF-8无BOM的JSON格式,配置文件会被自动清空,导致开机后出现该提示。
  • 替换发音人,闲聊技能下某些回答不能播报,音乐天气等技能正常
AIUI在闲聊的回答中会带有情感标签,目前仅有萌萌的发音人支持情感合成,所以替换不支持情感合成的发音人后,会导致不能播报的情况。
  • 通过wifi,上位机是否可以与评估板进行交互
目前手机的ControlClient就是通过wifi将aiui串口打印出来的信息实时同步显示出来,目前我们最新的版本,已经将ControlClient源码发出,方便用户集成。
  • 评估板配置以后唤醒和交互都没有声音,但是手机端能看到实时交互结果怎么办?
这个问题可能是您在手机端进行同步配置的时候没有勾选“是否启动后处理”造成的。如果确认勾选了但是依然没有声音,您可以与我们的技术支持同事沟通获取进行进一步支持。
  • 通过串口控制评估板语音合成,合成进度或者状态如何获取?
上位机通过串口发送合成命令,核心板会将合成开始状态和合成结束状态返回给上位机,但是不会将合成进度反馈,开发者如果需要可以通过自定义串口消息来修改源代码。
  • AIUI评估板报应用授权不足,服务停止怎么办?
评估板为每个appid默认开通5个装机量授权,超过5个装机量便会报授权不足。用户请联系msp_business@iflytek.com申请。
  • AIUI评估板在电脑上面USB连接没反应怎么解决
确保连接的是评估板的Debug口,出现这种问题可以尝试换一根数据线,若还是无法连接,可以使用PC版手机助手安装驱动连接一次。
  • 配置评估板时手机端显示10407错误是什么原因?
配置的APPID和KEY不匹配。请仔细检查应用的APPID与KEY是否匹配后再重新配置。
  • 评估板唤醒无声音播报怎么办?
评估板配置中配置APPID时请确认勾选了是否启动AIUI后处理程序,如果没有则需要在手机端勾选”是否启动后处理“并同步配置。
  • 通过串口控制语音合成,合成进度或者状态如何获取?
上位机通过串口发送合成命令,核心板会将合成开始状态和合成结束状态返回给上位机,但是不会将合成进度反馈,开发者如果需要可以通过自定义串口消息来修改源代码。

动态实体常见问题


动态实体常见问题

  • 有没有动态实体的 Demo 以供参考?
参考论坛此贴:http://bbs.xfyun.cn/forum.php?mod=viewthread&tid=34992&extra= + 动态实体如何写多个从字段 1、用|来分割,eg:{“”name””:””银行卡查询””,””alias””:””查询银行卡|行卡查询””}
2、用alias1、alias2来不同命名,最多命名10个,英文符隔开
  • 动态实体上传数据的上限是?
10k (base64后的数据大小)
  • 客户端上传所见即可说资源失败,返回-1是什么原因?
开发者上传所见即可说失败的原因一般分为以下几类:
资源名不正确,是平台上填写的资源名,切记切记,一定要正确。
资源中没有加命名空间。
{“name”:”微信”,”alias”:”wechat”,”extra”:”xxx”} 实体信息之间的符号不要是中文的,要用英文,且不要有空格,这里一定要注意。
技能名填写不正确。
所及即可以说正确使用流程参考AIUI使用所见即可说脱坑指南 + 自定义技能的时候动态实体上传成功,但是获取时slots老是为空 1、10-60分钟生效;2、只能语音输入动态实体才会生效;3、检查解析前的数据,可能存在解析错误。4、还有就是生效代码写错了
  • 动态实体的数据上传,是增量更新吗,还是说,每次上传会把原来的数据覆盖?
是的,全部覆盖

联系方式


商务合作:19955108393、19955108395

技术支持:aiui_support@iflytek.com

提交工单:https://aiui.xfyun.cn/ask/submit

论坛交流:http://bbs.xfyun.cn/调试 - 图1