Linux SDK 文档
1、简介
#2、SDK集成指南
#2.1 Demo运行步骤
#2.2 项目集成步 骤
#2.2.1 sdk包说明
#2.2.2 sdk导入
1.
2.
3.
4.
5.
6.
#2.2.3 API调用流程

#2.3 参数与说明
#2.3.1 动态修正
参数 | 类型 | 描述 |
---|---|---|
pgs | string | 开启wpgs会有此字段 取值为 "apd"时表示该片结果是追加到前面的最终结果;取值为"rpl" 时表示替换前面的部分结果,替换范围为rg字段 |
rg | array | 替换范围,开启wpgs会有此字段 假设值为[2,5],则代表要替换的是第2次到第5次返回的结果 |
#2.3.2 代理服务器设置
net_type=custom, proxy_ip=<host>, proxy_port=<port>
其中,<host>,<port>替换为实际的代理服务器地址和端口。
例如:MSPLogin(NULL, NULL, "appid = 12345678, net_type=custom, proxy_ip=192.168.1.2, proxy_port=8080"); 注意:各参数间,以英文逗号分隔。
接口原型: int MSPLogin(const char* usr, const char* pwd, const char* params)
注意: 若在设置代理参数后,使用语音服务过程中,报错10204/10205/10212等网络异常错误时,请查阅以下内容,做出相关操作: 讯飞语音SDK的通信协议使用的是标准HTTP1.1协议,其代理协议使用的是标准HTTP代理协议。 代理服务器需要支持全双工多问多答方式,即 pipeline 模式。 代理服务器不能对80端口做限制,不能对如 下域名做拦截: hdns.openspeech.cn scs.openspeech.cn open.xf-yun.com dev.voicecloud.cn 需要确保代理服务器只负责转发数据包,不能改变数据包的完整性和时序性。 代理服务器在转发数据包时,不能在HTTP协议头部添加 IE6 标识头。
#2.3.3 常用参数说明
参数 | 名称 | 说明 |
---|---|---|
language | 语言 | 目前Linux SDK支持 zh_cn:中文 en_us:英文 ja_jp:日语 ko_kr:韩语 ru-ru:俄语 fr_fr:法语 es_es:西班牙语 注:小语种若未授权无法使用会报错11200,可到控制台-语音听写(流式版)-方言/语种处添加试用 或购买。 |
sample_rate | 音频采样率 | 可取值:16000,8000 默认值:16000 |
accent | 语言区域 | 可取值 : mandarin:普通话 lmz:四川话 默认值:mandarin 注:更多方言可在控制台添加开通 |
vad_eos | 允许尾部静音的最长时间 | 0-10000毫秒。默认为2000如果尾部静音时长超过了此值,则认为用户音频已经结束 |
dwa | 动态修正 | 可取值:wpgs 详情可参考上方动态修正说明 |
nbest | 多候选-句级 | 取值范围[1,5],通过设置此参数,获取在发音相似时的句子多侯选结果。设置多候选会影响性能,响应时间延迟200ms左右。 注:该扩展功能若未授权无法使用,可到控制台-语音听写(流式版)-高级功能处免费开通;若未授权状态下设置该参数并不会报错,但不会生效。 |
wbest | 多候选-词级 | 取值范围[1,5],通过设置此参数,获取在发音相似时的词语多侯选结果。设置多候选会影响性能,响应时间延迟200ms左右。 注:该扩展功能若未授权无法使用,可到控制台-语音听写(流式版)-高级功能处免费开通;若未授权状态下设置该参数并不会报错,但不会生效。 |
rlang | 繁体文字 | (仅中文支持)字体 zh-cn :简体中文(默认值) zh-hk :繁体香港 注:该繁体功能若未授权无法使用,可到控制台-语音听写(流式版)-高级功能处免费开通;若未授权状态下设置为繁体并不会报错,但不会生效。 |
domain | 垂直引擎 | 应用领域 iat:日常用语 medical:医疗 注:医疗领域若未授权无法使用,可到控制台-语音听写(流式版)-高级功能处添加试用或购买;若未授权无法使用会报错11200。 |
pd | 领域个性化 | 仅中文支持)领域个性化参数 game:游戏 health:健康 shopping:购物 trip:旅行 注:该扩展功能若未授权无法使用,可到控制台-语音听写(流式版)-高级功能处添加试用或购买;若未授权状态下设置该参数并不会报错,但不会生效。 |
#2.3.4 识别结果
JSON字段 | 英文全称 | 类型 | 说明 |
---|---|---|---|
sn | sentence | number | 第几句 |
ls | last sentence | boolean | 是否最后一句 |
bg | begin | number | 保留字段,无需关注 |
ed | end | number | 保留字段,无需关注 |
ws | words | array | 词 |
cw | chinese word | array | 中文分词 |
w | word | string | 单字 |
sc | score | number | 分数 |
{
"sn": 1,
"ls": true,
"bg": 0,
"ed": 0,
"ws": [
{
"bg": 0,
"cw": [
{
"w": "今天",
"sc": 0
}
]
},
{
"bg": 0,
"cw": [
{
"w": "的",
"sc": 0
}
]
},
{
"bg": 0,
"cw": [
{
"w": "天气",
"sc": 0
}
]
},
{
"bg": 0,
"cw": [
{
"w": "怎么样",
"sc": 0
}
]
},
{
"bg": 0,
"cw": [
{
"w": "。",
"sc": 0
}
]
}
]
}
{
"sn": 1,
"ls": false,
"bg": 0,
"ed": 0,
"ws": [
{
"bg": 0,
"cw": [
{
"w": "我想听",
"sc": 0
}
]
},
{
"bg": 0,
"cw": [
{
"w": "拉德斯基进行曲",
"sc": 0
},
{
"w": "拉得斯进行曲",
"sc": 0
}
]
}
]
}
#3、常见问题
#错误码及相应解决方案查询网址
答: 错误码及相应解决方案查询
#获取到语音听写结果为空或错误内容或者内容不全的原因是什么?
答:原因可能是:
1、音频格式不正确,客户端支持的音频编解码算法只支持16位Intel PCM格式的音频,请使用Cool Edit Pro工具(网页搜索下载即可)查看音频格式,sdk目前支持的格式是 pcm 和 wav 格式、音频采样率要是 16k 或者 8k、采样精度16 位、单声道音频。请使用cool edit软件(网页搜索下载此软件即可)查看音频格式是否满足相应的识别引擎类型
2、QISRSessionBegin的参数设置不正确,如没有设置好正确的引擎类型等。
3、音频中间有静音或者杂音音频超过了后端点(默认为2000ms)的设置,此时请使用Cool Edit Pro工具查看音频内容,并且设置后端点(vad_eos)为最大值10000ms
包含超过后端点最大值的静音或者杂音音频识别不完整是正常的。
#能获取到语音听写结果但是不全
答:此问题主要是在调用QISRAudioWrite时没有正确设置参数audioStatus所致,此参数在写入非最后一个音频数据块时需要设置为2,写入最后一个数据块时需要设置为4,以告诉MSC音频写入完毕。如果只有一个音频数据块,audioStatus也需要设置为4。