# 实时转写SP WebAPI文档
# 1、接口说明
实时语音转写SP,基于深度全序列卷积神经网络框架(DFCNN),可将音频流数据(5小时以内)实时转换成文字流数据结果,为信息处理和数据挖掘提供基础,更适用于自然贴近日常的对话。
# 2、接口Demo
示例demo请点击 这里 下载。
目前仅提供部分开发语言的demo,其他语言请参照下方接口文档进行开发。
也欢迎热心的开发者到 讯飞开放平台社区 (opens new window) 分享你们的demo。
# 3、接口要求
# 3.1 集成WebAPI时,需按照以下要求。
内容 | 说明 |
---|---|
请求协议 | ws[s](为提高安全性,强烈推荐wss) |
请求地址 | wss://eu.aicloudapi.com/v2/ist 注:服务器IP不固定,为保证您的接口稳定,请勿通过指定IP的方式调用接口,使用域名方式调用 |
请求行 | GET /v2/ist HTTP/1.1 |
接口鉴权 | 签名机制,详情请参照下方接口鉴权 (opens new window) |
字符编码 | UTF-8 |
响应格式 | 统一采用JSON格式 |
开发语言 | 任意,只要可以向讯飞云服务发起Websocket请求的均可 |
操作系统 | 任意 |
音频属性 | 采样率16k、位长16bit、单声道 |
音频格式 | pcm、speex |
音频长度 | 最长5小时 |
语言种类 | 中文、英文及小语种 |
# 3.2 接口鉴权
参考通用URL鉴权文档 (opens new window)
# 3.3 接口请求
# 3.3.1 请求参数
# 请求参数示例
{
"common":{
"app_id":"123456"
},
"business":{
"language": "zh_cn",
"domain":"ist_ed",
"accent:"mandarin"
},
"data":{
"status":0,
"audio":"exSI6ICJlbiIsCgkgICAgInBvc2l0aW9uIjogImZhbHNlIgoJf..."
}
}
接口请求字段由三个部分组成:common,business, data。 字段解释如下
common部分
参数名称 | 类型 | 必传 | 参数说明 |
---|---|---|---|
app_id | string | 是 | 应用appid,从开放平台控制台创建的应用中获取 |
business部分
参数名 | 类型 | 必传 | 描述 |
---|---|---|---|
language | string | 是 | 语种 zh_cn:中文(支持简单的英文识别) en_us:英文 其他小语种:参数可参考下方语种列表 |
domain | string | 是 | 应用领域 ist_mul_sp:日常用语 |
accent | string | 是 | 方言,当前仅支持:mandarin |
dwa | string | 否 | 引擎扩展参数,wpgs:开启流式结果返回功能,受限功能,未授权AppId无法使用,服务默认不开启 |
eos | int | 否 | 用于设置端点检测的静默时间,单位是毫秒,默认99999999 |
vto | int | 否 | vad强切控制,单位ms,默认15000 |
punc | int | 否 | 标点符号控制,默认带标点,传punc=0 关闭标点 |
nunum | int | 否 | 数字规整,0 不进行数字规整,1:进行数字规整,默认1 |
pptaw | int | 否 | 分段控制,设置缓存多少词后送入分段预测,中英文默认450,小语种默认60 |
dyhotws | int | 否 | 是否开启会话中动态加载热词 |
speex_size | int | 否 | speex音频帧率,仅在speex音频时使用 1 当speex编码为非讯飞定制speex编码时必须指定 2 当speex编码为讯飞定制speex编码时不要设置 注:讯飞定制SPEEX编码工具请参考这里 speex编码 。 |
spkdia | int | 否 | 实时转写角色分离模式。 0: 关闭说话人分离 1: 开启实时转折点 2: 开启实时角色分离,服务默认值0。 |
pgsnum | int | 否 | pgs截断门限不要超过1000,中文按字数截断,英文按单词数截断;ed默认为40,小语种默认为800 |
vad_mdn | int | 否 | vad 远近场切换。若要使用近场 传值 2,默认远场 |
language_type | int | 否 | 语言过滤筛选。针对ed引擎 1:中英文模式,中文英文均可识别 2 :中文模式,可识别出简单英文 3:英文模式,只识别出英文 4:纯中文模式,只识别出中文 5:中英混合模式,中文场景下的主推模式,主要适用于中文场景中夹杂少量英文单词的场景 默认1 中英文模式 |
dhw | string | 否 | 会话级热词,多个热词用英文','分隔。只支持UTF8 编码;支持转写过程中新增热词。最大长度50个字节 |
dhw_mod | int | 否 | 会话级热词模式,需要配合dhw参数一起使用,取值[0,1,2],默认0 0:每次dhw添加的热词会覆盖之前的所有热词,包括通过个性化系统的热词,仅该次dhw参数中热词会生效 1: 每次dhw 上传的热词只会覆盖之前通过dhw上传的热词,不覆盖个性化系统上传的热词 2: dhw 上传的热词不会覆盖之前的任何热词,每次添加的都会生效 |
rsgid | int | 否 | 控制结果中是否返回eseg_id 字段。1 ,返回 0 或者其他值,不返回 |
rlang | int | 否 | 粤语繁简转换的开关(服务默认简转繁)。1:简转繁 ;0:繁转简 |
data部分
参数名 | 类型 | 必传 | 描述 |
---|---|---|---|
status | int | 是 | 音频的状态 0 :第一帧音频 1 :中间的音频 2 :最后一帧音频,最后一帧必须要发送 |
format | string | 是 | 音频的采样率支持16k:audio/L16;rate=16000,转写目前只支持16k |
encoding | string | 是 | 音频数据格式,raw标识原生音频,speex表示speex压缩后的音频。 |
audio | string | 是 | 音频内容,采用base64编码 |
返回参数
参数 | 类型 | 描述 |
---|---|---|
sid | string | 每次会话的唯一标识 |
context_id | string | 业务上下文id,唯一标识一路完整会话(包括重连成功的请求) |
code | int | 错误码,0标识成功 |
message | string | 错误描述 |
data | object | 识别数据 |
data.status | int | 识别结果是否结束标识: 1:识别中 2:识别结束 |
data.result | object | 识别结果 |
data.result.sn | int | 返回结果的序号 |
data.result.pgs | string | 开启wpgs会有此字段,取值为 "apd"时表示该片结果是追加到前面的最终结果,取值为"rpl" 时表示替换前面的部分结果,替换范围为rg字段 |
data.result.rg | array | 替换范围,开启wpgs会有该字段, |
data.result.ls | bool | 是否是最后一片结果 |
data.result.bg | int | 保留字段,无需关心 |
data.result.ed | int | 保留字段,无需关心 |
data.result.ws.bg | int | 起始的端点帧偏移值,单位:帧(1帧=10ms) 注:以下两种情况下bg=0,无参考意义: 1)返回结果为标点符号或者为空;2)本次返回结果过长。 |
data.result.ws.cw | array | 中文分词 |
data.result.ws.cw.w | string | 字词 |
data.result.ws.cw.其他字段 sc/wb/wc/we/wp | int/string | 均为保留字段,无需关心。如果解析sc字段,建议float与int数据类型都做兼容 |
// 结果返回示例
{
"code": 0,
"message": "success",
"sid": "ist000c7ed3@eu193ddce4071008c802",
"data": {
"status": 1,
"result": {
"sn": 1,
"ls": false,
"bg": 0,
"ed": 2370,
"sub_end": true,
"ws": [
{
"bg": 0,
"cw": [
{
"sc": 0,
"w": "科大讯飞"
}
]
}
]
}
},
"context_id": "ZXVpc3SSHwrpAIytoNBmPIMSGOYt"
}
# 3.2 语种列表
语种 | 参数(language) | 语种 | 参数(language) |
---|---|---|---|
中文 | zh_cn | 挪威语 | nb_NO |
英语 | en_us | 克罗地亚语 | hr_HR |
韩语 | ko_kr | 斯洛伐克语 | sk_SK |
日语 | ja_jp | 斯洛文尼亚语 | sl_SI |
匈牙利语 | hu_hu | 乌克兰语 | uk_UA |
法语 | fr_fr | 加泰罗尼亚语 | ca_ES |
德语 | de_DE | 拉脱维亚语 | lv_LV |
阿拉伯语 | ar_il | 立陶宛语 | lt_LT |
葡萄牙语 | pt_PT | 爱沙尼亚语 | et_EE |
粤语 | zh_YUE | 世界语 | eo_EO |
印地语 | hi_IN | 白俄罗斯语 | be_BY |
印尼语 | id_ID | 巴什基尔语 | ba_ba |
意大利语 | it_IT | 巴斯克语 | eu_eu |
马来语 | ms_MY | 加利西亚语 | gl_gl |
丹麦语 | da_DK | 希伯来语 | he_he |
泰语 | th_TH | 国际辅助语 | ia_ia |
土耳其语 | tr_TR | 马拉地语 | mr_mr |
越南语 | vi_VN | 波斯语 | fa_IR |
保加利亚语 | bg_BG | 俄语 | ru_ru |
捷克语 | cs_CZ | 西班牙语 | es_es |
荷兰语 | nl_NL | 维吾尔族 | ug_ug |
希腊语 | el_GR | 威尔士语 | cy_cy |
蒙古语 | mn_MN | 孟加拉语 | bn_BD |
波兰语 | pl_PL | 爱尔兰语 | ga_IE |
罗马尼亚语 | ro_RO | 马耳他语 | mt_MT |
瑞典语 | sv_SE | 斯瓦希里语 | sw_KE |
泰米尔语 | ta_IN | 乌尔都语 | ur_IN |
# 4、调用示例
注: demo只是一个简单的调用示例,不适合直接放在复杂多变的生产环境使用
实时转写SP _API demo java语言 (opens new window)
实时转写SP _API demo python3语言 (opens new window)
注: 其他开发语言请参照 接口调用流程 (opens new window) 进行开发,也欢迎热心的开发者到 讯飞开放平台社区 (opens new window) 分享你们的demo。
# 5、错误码
备注:如出现下述列表中没有的错误码,可到 这里 (opens new window) 查询。
错误码 | 错误描述 | 说明 | 处理方式 |
---|---|---|---|
10163 | 参数校验失败 | 由客户端参数校验失败引起 | 客户端需要依据返回的message字段中的描述来更改请求参数 |
10313 | 参数错误 | 第一帧没有传app_id 或者传 的app_id 与api_key 不匹配。 | 检查报错信息中的参数是否正确上传 |
10043 | 音频解码失败 | 上传的音频格式不符合接口要求 | 请检查所传的音频是否与encoding字段描述的编码格式对应 |
11201 | 授权不足 | 接口使用量超出了购买的最大限制 | 请购买后继续使用 |
10014 | 会话超时 | 会话超时 | 请到控制台提交工单联系技术人员 |
# 6、常见问题
# 实时转写SP的APIKey在哪里查询到?
答:控制台--我的应用---找到对应应用的实时转写SP服务---即能查看到
# 实时转写SP WebAPI支持的音频格式有哪些?
答:目前支持16k采样率、16bit、单声道的pcm、speex格式的音频。
在这篇文章中: