icon-auth-user dollor setting alipay success appmanage user order logout workorder cart mail

 

1 常见问题

Q:本地SDK支持

A:Android平台语音+SDK已经支持本地合成和本地命令词识别功能了,语音唤醒和声纹功能也即将上线。

Q:次数限制的疑问

A:开发集成阶段的服务量为500次/日,开发者需要提交应用上线审核,通过后可以获得更多的每日服务量。

Q:应用上线审核的时间范围

A:应用上线审核流程需要4个工作日(工作日不包括周六周日以及国家法定节假日)。

Q:Appid的使用规范

A:申请的Appid和对应下载的SDK具有一致性,请确保在使用过程中规范传入。
     一个Appid对应一个平台下的一个应用,如在多个平台开发同款应用,还需申请对应平台的Appid。

Q:上传音频的采样率与采样精度

A:采样率16KHZ或者8KHZ,单声道,采样精度16bit的PCM或者WAV格式的音频。

Q:中英文混合识别

A:目前还不支持。

Q:听写VS识别

A:听写:将语音直接转换成相应的文字。
     识别:先上传命令词或者abnf语法文件。如果上传的是命令词,则只会识别命令词,并返回识别结果,若命令词中没有匹配,则会返回没有匹配结果的错误码;如果上传的是语法文件,会按照语法文件的格式返回相应的匹配信息,若无匹配的结果,则会返回没有匹配结果的错误码。

Q:使用语音听写,一次会话的最长时间

A:一次会话的最长时间为60秒。

Q:联系人、用户词表、命令词、abnf语法文件、bnf语法文件的区别

A:联系人与用户词表是听写的时候使用,命令词和abnf语法文件是在识别的时候使用。
     使用联系人时,程序会读取用户的联系人信息,在听写时,优先识别联系人;使用用户词表,词表由开发者自定义,可以涉及各种偏门或专业术语,上传词表后,会优先识别词表中的词汇,提高个性化识别体验。
     命令词识别时需要上传命令词,在识别时,识别结果只在命令词中匹配,并且会有识别结果的置信度;使用abnf语法文件时,需要进行语法文件的上传,语法文件可自行编写,识别时,只有结果与语法文件相匹配时,才返回结果,否则返回没有匹配结果的错误;使用语音+的离线命令词识别时,需要使用bnf语法在本地编写语法文件,之后就可以本地构建、本地语法文件识别了。

Q:日志文件的生成配置

A:在msc.cfg文件中配置“output=1”时,会输出运行日志到msc.log,lvl=-1,log=文件路径/msc.log(例如./home/../msc.log);“output=0”不生成日志,Level值越小日志越详细,Level=-1为最详细。

Q:数据是否要加wav头?是否可以直接mic数据至服务器?

A:wav文件由一个pcm文件头及pcm数据组成,pcm文件头是用于标识该wav文件的pcm数据采样率、量化比特数、文件长度等信息。
     mic录音得到的就是pcm数据,可以直接上传语音云进行识别,不需要添加pcm文件头。
     需要注意,mic录音的pcm数据采样率与量化比特数需要与SessionBegin中设置的参数一致。

2 参数相关

Q:英文识别

A:Android和ios平台,需要设置参数domain=iat,language=en_us;

     其他平台需要设置ent=sms-en16k或者ent=sms-en;

Q:粤语识别

A:Android和ios平台,需要设置参数domain=iat,language=zh_cn,accent=cantonese;

     其它平台进行开发时,需要在初始化时传入ent=cantonese16k;

3 错误码相关

Q:10109错误

A:客户端上传的命令词语法,存在单词长度超过128字节。

     客户端上传abnf时,语法内容不是以#ABNF 1.0 UTF-8;和#ABNF 1.0 gb2312;开头,目前只支持这两种格式的abnf语法上传。

     携带的语法内容为空。

Q:10114错误

A:查看网络环境是否正常,查看是否使用的是公司网络(很多公司网络会将一些网络地址和端口屏蔽掉),查看讯飞的服务器地址和端口是不是被屏蔽(服务器地址dev.voicecloud.cn 端口号是1028和80)。

Q:10214错误

A:DNS解析错误,即域名转换到IP失败,可以换个网络通畅的环境,或者先用固定IP测试。

Q:10407错误

A:请确认申请的Appid是否授权通过;

     请确认申请的Appid和下载的SDK是否具有一致性。

Q:10702错误

A:10702为没有有效的语法文件,查看是否已经成功上传语法文件,上传的语法文件格式是否是正确的,查看文件中的字符、数字、空格、标点是否是相应的格式(如全角还是半角,英文还是中文,gb2312编码还是utf-8编码,实际编码与文件开头与代码参数设置是否一致)。

Q:10703错误

A:客户端没有携带任何语法文件,直接调用语法接口,造成引擎找不到可激活的语法文件。

4 技术精华

1、flash录音音频由16k变为11k的问题

    开发者反馈:flash录音的音质有问题,导致识别不准确,具体分析结果如下:

    开发者的测试环境:

    1)使用chrome浏览器;

    2)从adobe官网下载并安装最新的flash插件;

    3)使用语音时,在flash的授权界面勾选“记住”;

    4)刷新页面;

    5)开始识别,并保存录制下来的音频;

    6)播放音频,发现音频是11k的,而不是16k;

    7)如果第三步不勾选“记住”或者勾选之后还没有刷新就开始使用,则录音是正常的16k。

    从代码和日志中看,在录音开始之前的配置没有任何问题,但是录音器输出音频数据确实变成了11k的。而且该现象在IE和Firefox浏览器中不会出现该问题(已安装最新flash插件的条件下)。

    经过分析,该问题的直接原因是flash插件的功能问题,不过在最新的16.0版本中已修复,但是为什么安装了最新版本的插件,chrome使用的却不是最新版本?原来chrome在安装时自带了flash插件,chrome默认使用自己的插件,而不是安装在系统中的插件,如果在chrome的插件列表中“停用”自带的flash插件即可正常使用。

    该问题不光影响chrome浏览器,还包括使用chromium内核的大量国产“双核”浏览器,解决办法如下:

    1)chrome浏览器更新到38.0以上,该版本自带的flash版本就是16.0,35.0的chrome自带14.0的flash插件,就不能正常使用,如果是其他使用chromium内核的浏览器,就要保证内核升级到38.0以上;

    2)保证用户安装了16.0以上版本的flash插件,进入chrome://plugins,搜索flash,把版本低的插件停用掉,有些浏览器屏蔽了“chrome://plugins”(比如百度浏览器),那么该方法就无效了;

    3)使用IE兼容模式,这样使用的就是IE的flash插件,只要IE的flash插件版本够高就可以正常使用。

    该问题只能从用户端更换flash插件解决,从SDK和开发者方面只能在界面上提示用户,无法主动解决。

5 Android平台

Q:语音SDK和语音+SDK的区别

A:使用语音SDK需要导入msc.jar和libmsc.so,进行相关功能实现;使用语音+SDK时,需要安装讯飞语音+APK,导入SpeechApi.jar到自己工程中,并且可以使用部分离线功能。

Q:使用Android语音SDK,将工程导入eclipse,运行出现错误,couldnot load msc:findLibrary returned null

A:检查是否正确导入libmsc.so动态库。

Q:Android语音SDK的demo运行时出现 java.lang.NoClassDefFoundError:com.iflytek.Mscdemo.”xxx”

DemoActivity Could not found class ‘com.iflytek.cloud.ui.RecognizerDialog’

A:检查此activity是否存在;

     将msc.jar删除,重新导入;

     Java build path->libraries中加入msc.jar;

     Java build path ->order and export 勾选msc.jar和相关依赖项(新版adt会有android private libraries和android dependencies两个,根据实际情况勾选,有时候需要将这两项全勾上,否则报错)。

Q:运行Android平台demo,进行识别出错,显示不能找到麦克风,没有录音文件

A:检查麦克风是否可用,是否完好;

     检查是否使用的是模拟器,eclipse的模拟器很多时候不能识别麦克风设备;

     检查是否加入了录音权限;

     重启手机;

     检查是否有其他进程正在占用麦克风。

Q:安装讯飞语音+,下载开发包,运行demo不能离线合成

A:代码中默认使用在线合成,要使用本地合成需要改一下参数,在TtsDemo.java中将mTts.setParameter(SpeechConstant.ENGINE_TYPE, "local");中的cloud改成local,重新build运行即可。

Q:使用Android平台开发包,运行报错java.lang.SecurityException.ConnectivityService:Neither user 10040

错误

A:需要添加权限,在AndroidManifest.xml文件中添加相应手机资源获取权限。

Q:如何使用讯飞语音+开发包进行命令词识别

A:讯飞语音+的命令词识别是使用SpeechRecognizer的buildGrammar方法,其中grammarType使用"keyword",grammarContent是关键字,关键字用英文逗号隔开,具体可参见讯飞语音+开发包中《开发指南.chm》中关于buildGrammar的介绍。

6 错误码列表

错误码 错误值 意义
MSP_SUCCESS 0 函数执行成功
MSP_ERROR_FAIL -1 失败
MSP_ERROR_EXCEPTION -2 异常
MSP_ERROR_GENERAL 10100 基码
MSP_ERROR_OUT_OF_MEMORY 10101 内存越界
MSP_ERROR_FILE_NOT_FOUND 10102 文件没有发现
MSP_ERROR_NOT_SUPPORT 10103 不支持
MSP_ERROR_NOT_IMPLEMENT 10104 没有实现
MSP_ERROR_ACCESS 10105 没有权限
MSP_ERROR_INVALID_PARA 10106 无效的参数
MSP_ERROR_INVALID_PARA_VALUE 10107 无效的参数值
MSP_ERROR_INVALID_HANDLE 10108 无效的句柄
MSP_ERROR_INVALID_DATA 10109 无效的数据
MSP_ERROR_NO_LICENSE 10110 没有授权许可
MSP_ERROR_NOT_INIT 10111 没有初始化
MSP_ERROR_NULL_HANDLE 10112 空句柄
MSP_ERROR_OVERFLOW 10113 溢出
MSP_ERROR_TIME_OUT 10114 超时
MSP_ERROR_OPEN_FILE 10115 打开文件出错
MSP_ERROR_NOT_FOUND 10116 没有发现
MSP_ERROR_NO_ENOUGH_BUFFER 10117 没有足够的内存
MSP_ERROR_NO_DATA 10118 没有数据
MSP_ERROR_NO_MORE_DATA 10119 没有更多的数据
MSP_ERROR_SKIPPED 10120 跳过
MSP_ERROR_ALREADY_EXIST 10121 已经存在
MSP_ERROR_LOAD_MODULE 10122 加载模块失败
MSP_ERROR_BUSY 10123 忙碌
MSP_ERROR_INVALID_CONFIG 10124 无效的配置项
MSP_ERROR_VERSION_CHECK 10125 版本错误
MSP_ERROR_CANCELED 10126 取消
MSP_ERROR_INVALID_MEDIA_TYPE 10127 无效的媒体类型
MSP_ERROR_CONFIG_INITIALIZE 10128 初始化Config实例
MSP_ERROR_CREATE_HANDLE 10129 建立句柄
MSP_ERROR_CODING_LIB_NOT_LOAD 10130 编解码库未加载
MSP_ERROR_NET_GENERAL 10200 网络一般错误
MSP_ERROR_NET_OPENSOCK 10201 打开套接字
MSP_ERROR_NET_CONNECTSOCK 10202 套接字连接
MSP_ERROR_NET_ACCEPTSOCK 10203 套接字接收
MSP_ERROR_NET_SENDSOCK 10204 发送
MSP_ERROR_NET_RECVSOCK 10205 接收
MSP_ERROR_NET_INVALIDSOCK 10206 无效的套接字
MSP_ERROR_NET_BADADDRESS 10207 无效的地址
MSP_ERROR_NET_BINDSEQUENCE 10208 绑定次序
MSP_ERROR_NET_NOTOPENSOCK 10209 套接字没有打开
MSP_ERROR_NET_NOTBIND 10210 没有绑定
MSP_ERROR_NET_NOTLISTEN 10211 没有监听
MSP_ERROR_NET_CONNECTCLOSE 10212 连接关闭
MSP_ERROR_NET_NOTDGRAMSOCK 10213 非数据报套接字
MSP_ERROR_NET_DNS 10214 DNS解析错误
MSP_ERROR_MSG_GENERAL 10300 消息一般错误
MSP_ERROR_MSG_PARSE_ERROR 10301 解析
MSP_ERROR_MSG_BUILD_ERROR 10302 构建
MSP_ERROR_MSG_PARAM_ERROR 10303 参数出错
MSP_ERROR_MSG_CONTENT_EMPTY 10304 Content为空
MSP_ERROR_MSG_INVALID_CONTENT_TYPE 10305 Content类型无效
MSP_ERROR_MSG_INVALID_CONTENT_LENGTH 10306 Content长度无效
MSP_ERROR_MSG_INVALID_CONTENT_ENCODE 10307 Content编码无效
MSP_ERROR_MSG_INVALID_KEY 10308 Key无效
MSP_ERROR_MSG_KEY_EMPTY 10309 Key为空
MSP_ERROR_MSG_SESSION_ID_EMPTY 10310 会话ID为空
MSP_ERROR_MSG_LOGIN_ID_EMPTY 10311 登录ID为空
MSP_ERROR_MSG_SYNC_ID_EMPTY 10312 同步ID为空
MSP_ERROR_MSG_APP_ID_EMPTY 10313 应用ID为空
MSP_ERROR_MSG_EXTERN_ID_EMPTY 10314 扩展ID为空
MSP_ERROR_MSG_INVALID_CMD 10315 无效的命令
MSP_ERROR_MSG_INVALID_SUBJECT 10316 无效的主题
MSP_ERROR_MSG_INVALID_VERSION 10317 无效的版本
MSP_ERROR_MSG_NO_CMD 10318 没有命令
MSP_ERROR_MSG_NO_SUBJECT 10319 没有主题
MSP_ERROR_MSG_NO_VERSION 10320 没有版本号
MSP_ERROR_MSG_MSSP_EMPTY 10321 消息为空
MSP_ERROR_MSG_NEW_RESPONSE 10322 新建响应消息失败
MSP_ERROR_MSG_NEW_CONTENT 10323 新建Content失败
MSP_ERROR_MSG_INVALID_SESSION_ID 10324 无效的会话ID
MSP_ERROR_DB_GENERAL 10400 数据库一般错误
MSP_ERROR_DB_EXCEPTION 10401 异常
MSP_ERROR_DB_NO_RESULT 10402 没有结果
MSP_ERROR_DB_INVALID_USER 10403 无效的用户
MSP_ERROR_DB_INVALID_PWD 10404 无效的密码
MSP_ERROR_DB_CONNECT 10405 连接出错
MSP_ERROR_DB_INVALID_SQL 10406 无效的SQL
MSP_ERROR_RES_GENERAL 10500 资源一般错误
MSP_ERROR_RES_LOAD 10501 没有加载
MSP_ERROR_RES_FREE 10502 空闲
MSP_ERROR_RES_MISSING 10503 缺失
MSP_ERROR_RES_INVALID_NAME 10504 无效的名称
MSP_ERROR_RES_INVALID_ID 10505 无效的ID
MSP_ERROR_RES_INVALID_IMG 10506 无效的映像
MSP_ERROR_RES_WRITE 10507 写操作
MSP_ERROR_RES_LEAK 10508 泄露
MSP_ERROR_RES_HEAD 10509 资源头部错误
MSP_ERROR_RES_DATA 10510 数据出错
MSP_ERROR_RES_SKIP 10511 跳过
MSP_ERROR_TTS_GENERAL 10600 合成一般错误
MSP_ERROR_TTS_TEXTEND 10601 文本结束
MSP_ERROR_TTS_TEXT_EMPTY 10602 文本为空
MSP_ERROR_REC_GENERAL 10700 一般错误
MSP_ERROR_REC_INACTIVE 10701 处于不活跃状态
MSP_ERROR_REC_GRAMMAR_ERROR 10702 语法错误
MSP_ERROR_REC_NO_ACTIVE_GRAMMARS 10703 没有活跃的语法
MSP_ERROR_REC_DUPLICATE_GRAMMAR 10704 语法重复
MSP_ERROR_REC_INVALID_MEDIA_TYPE 10705 无效的媒体类型
MSP_ERROR_REC_INVALID_LANGUAGE 10706 无效的语言
MSP_ERROR_REC_URI_NOT_FOUND 10707 没有对应的URI
MSP_ERROR_REC_URI_TIMEOUT 10708 获取URI内容超时
MSP_ERROR_REC_URI_FETCH_ERROR 10709 获取URI内容时出错
MSP_ERROR_EP_GENERAL 10800 (EP)一般错误
MSP_ERROR_EP_NO_SESSION_NAME 10801 (EP)链接没有名字
MSP_ERROR_EP_INACTIVE 10802 (EP)不活跃
MSP_ERROR_EP_INITIALIZED 10803 (EP)初始化出错
MSP_ERROR_LOGIN_SUCCESS 11000 登录成功
MSP_ERROR_LOGIN_NO_LICENSE 11001 无授权
MSP_ERROR_LOGIN_SESSIONID_INVALID 11002 无效的SessionID
MSP_ERROR_LOGIN_SESSIONID_ERROR 11003 错误的SessionID
MSP_ERROR_LOGIN_UNLOGIN 11004 未登录
MSP_ERROR_LOGIN_INVALID_USER 11005 无效的用户
MSP_ERROR_LOGIN_INVALID_PWD 11006 无效的密码
MSP_ERROR_LOGIN_SYSTEM_ERROR 11099 系统错误
MSP_ERROR_HTTP_BASE 12000 HTTP错误基码

7 其他平台

Q:语音云的API能够识别的音频格式

A:目前只支持pcm格式的音频文件。

Q:我用flex air调用合成的时候,出错Cannot import a SWF file when LoaderContext.allowCodeImport is

false

A:开放平台上下载的Flash SDK用于网页开发,支持在AIR上使用。

8 没找到你想要的?

    请将登陆讯飞开发平台,将您遇到的问题详细描述,在支持中心提交问题