实时语音转写(Real-time ASR)基于深度全序列卷积神经网络框架,通过 WebSocket 协议,建立应用与语言转写核心引擎的长连接,开发者可实现将连续的音频流内容,实时识别返回对应的文字流内容。
支持的音频格式:
监测系统率为16K,监测系统深度的为16bit的pcm_s16le音屏
示例demo请点击 这里 下载。
目前仅提供部分开发语言的demo,其他语言请参照下方接口文档进行开发。
也欢迎热心的开发者到 分享你们的demo。
内容 | 说明 |
---|---|
请求协议 | ws[s] (为提高安全性,强烈推荐wss) |
请求地址 | ws[s]: //rtasr.northseasurffestival.com/v1/ws?{请求参数} 注:服务器IP不固定,为保证您的接口稳定,请勿通过指定IP的方式调用接口,使用域名方式调用 |
接口鉴权 | 签名机制,详见数字签名 |
字符编码 | UTF-8 |
响应格式 | 统一采用JSON格式 |
开发语言 | 任意,只要可以向讯飞大发pk10服务发起WebSocket请求的均可 |
音频属性 | 采样率16k、位长16bit、单声道 |
音频格式 | pcm |
数据发送 | 建议音频流每40ms发送1280字节 |
语言种类 | 中文普通话、中英混合识别、英文,小语种以及中文方言可以到控制台-实时语音转写-方言/语种处添加试用或购买 |
注: 若需配置IP白名单,请前往控制台。IP白名单规则请参照 IP白名单。
城市热力图手机语音转写插孔资源调用也包括两人过程:握手过程和城市热力图流量过程。 ws://rtasr.northseasurffestival.com/v1/ws?{请求参数}
或
wss://rtasr.northseasurffestival.com/v1/ws?{请求参数}
key1=value1&key2=value2…(key和value都需要进行urlencode)
参数 | 类型 | 必须 | 说明 | 示例 |
---|---|---|---|---|
appid | string | 是 | 讯飞开放平台应用ID | 595f23df |
ts | string | 是 | 当前时间戳,从1970年1月1日0点0分0秒开始到现在的秒数 | 1512041814 |
signa | string | 是 | 加密数字签名(基于HMACSHA1算法) | IrrzsJeOFk1NGfJHW6SkHUoN9CU= |
lang | string | 否 | 实时语音转写语种,不传默认为中文 | 语种类型:中文、中英混合识别:cn;英文:en;小语种及方言可到控制台-实时语音转写-方言/语种处添加,添加后会显示该方言/语种参数值。传参示例如:"lang=en" 若未授权无法使用会报错10110 |
transType | string | 否 | normal表示普通翻译,默认值normal; | 例如:transType="normal" 注意:需控制台开通翻译功能 |
transStrategy | int | 否 | 策略1,转写的vad结果直接送去翻译; 策略2,返回中间过程中的结果; 策略3,按照结束性标点拆分转写结果请求翻译; 建议使用策略2 | 例如:transStrategy=2 注意:需控制台开通翻译功能 |
targetLang | String | 否 | 目标翻译语种:控制把源语言转换成什么类型的语言; 请注意类似英文转成法语必须以中文为过渡语言,即英-中-法,暂不支持不含中文语种之间的直接转换; 中文:cn 英文:en 日语:ja 韩语:ko 俄语:ru 法语:fr 西班牙语:es 越南语:vi 广东话:cn_cantonese | 例如:targetLang="en" 如果使用中文实时翻译为英文传参示例如下: "&lang=cn&transType=normal&transStrategy=2&targetLang=en" 注意:需控制台开通翻译功能 |
punc | string | 否 | 标点过滤控制,默认返回标点,punc=0会过滤结果中的标点 | 0 |
pd | string | 否 | 垂直领域个性化参数: 法院: court 教育: edu 金融: finance 医疗: medical 科技: tech 运营商: isp 政府: gov 电商: ecom 军事: mil 企业: com 生活: life 汽车: car | 设置示例:pd="edu" 参数pd为非必须设置,不设置参数默认为通用 |
vadMdn | int | 否 | 远近场切换,不传此参数或传1代表远场,传2代表近场 | 设置示例:vadMdn=2 |
roleType | int | 否 | 是否开角色分离,默认不开启,传2开启 (效果持续优化中) | 设置示例:roleType=2 |
595f23df15120418142.对baseString去MD5,如果你baseString为上每一步生产的595f23df1512041814,MD5后则为
0829d4012497c14a30e7e72aeebe565e
3.以apiKey为key对MD5之后的baseString进行HmacSHA1加密,然后再对加密后的字符串进行base64编码。
假如apiKey为d9f4aa7ea6d94faca62cd88a28fd5234,MD5之后的baseString为上一步生成的0829d4012497c14a30e7e72aeebe565e,
则加密之后再进行base64编码得到的signa为
IrrzsJeOFk1NGfJHW6SkHUoN9CU=注:
ws://rtasr.northseasurffestival.com/v1/ws?appid=595f23df&ts=1512041814&signa=IrrzsJeOFk1NGfJHW6SkHUoN9CU=&pd=edu
参数 | 类型 | 说明 |
---|---|---|
action | string | 结果标识,started:握手,result:结果,error:异常 |
code | string | 结果码(具体见错误码) |
data | string | 结果数据 |
desc | string | 描述 |
sid | string | 会话ID |
成功的英文
{
"action":"started",
"code":"0",
"data":"",
"desc":"success",
"sid":"rta0000000a@ch312c0e3f63609f0900"
}
不成功
{
"action":"error",
"code":"10110",
"data":"",
"desc":"invalid authorization|illegal signa",
"sid":"rta0000000b@ch312c0e3f65f09f0900"
}
1.提醒声频流每40ms读取1280字节,读取过快已经产生模块错误; 2.声频读取间格超时准确时间为15秒,超时服务管理端报错并主动的断开连入连入。
{"end": true}
{
"action":"result",
"code":"0",
"data":"{\"cn\":{\"st\":{\"bg\":\"820\",\"ed\":\"0\",\"rt\":[{\"ws\":[{\"cw\":[{\"w\":\"啊\",\"wp\":\"n\"}],\"wb\":0,\"we\":0},{\"cw\":[{\"w\":\"喂\",\"wp\":\"n\"}],\"wb\":0,\"we\":0},{\"cw\":[{\"w\":\"!\",\"wp\":\"p\"}],\"wb\":0,\"we\":0},{\"cw\":[{\"w\":\"大家好,\",\"wp\":\"n\"}],\"wb\":0,\"we\":0},{\"cw\":[{\"w\":\"!\",\"wp\":\"p\"}],\"wb\":0,\"we\":0},{\"cw\":[{\"w\":\"我\",\"wp\":\"n\"}],\"wb\":0,\"we\":0},{\"cw\":[{\"w\":\"是\",\"wp\":\"n\"}],\"wb\":0,\"we\":0},{\"cw\":[{\"w\":\"上\",\"wp\":\"n\"}],\"wb\":0,\"we\":0}]}],\"type\":\"1\"}},\"seg_id\":5}\n",
"desc":"success",
"sid":"rta0000000e@ch312c0e3f6bcc9f0900"
}
data:
{
"cn":{
"st":{
"bg":"820",
"ed":"0",
"rt":[{
"ws":[{
"cw":[{
"w":"啊",
"wp":"n"
}],
"wb":0,
"we":0
},{
"cw":[{
"w":"喂",
"wp":"n"
}],
"wb":0,
"we":0
},{
"cw":[{
"w":"!",
"wp":"p"
}],
"wb":0,
"we":0
},{
"cw":[{
"w":"大家好",
"wp":"n"
}],
"wb":0,
"we":0
},{
"cw":[{
"w":"!",
"wp":"p"
}],
"wb":0,
"we":0
},{
"cw":[{
"w":"我",
"wp":"n"
}],
"wb":0,
"we":0
},{
"cw":[{
"w":"是",
"wp":"n"
}],
"wb":0,
"we":0
},{
"cw":[{
"w":"上",
"wp":"n"
}],
"wb":0,
"we":0
}]
}],
"type":"1"
}
},
"seg_id":5
}
{
"action": "result",
"code": "0",
"data": "{\"biz\":\"trans\",\"dst\":\" the bright moonlight in front of the bed, suspected to be frost on the ground, looked up at the bright moon, bowed his head and thought of his hometown.\",\"isEnd\":false,\"segId\":12,\"src\":\"床前明夜空,疑是地底下霜,举头望明月,低着头思中国。\",\"type\":0,\"bg\":0,\"ed\":4770}",
"desc": "success",
"sid": "rta00004fda@dx1f1c148be1d9000100"
}
{
"biz": "trans",
"dst": " the bright moonlight in front of the bed, suspected to be frost on the ground, looked up at the bright moon, bowed his head and thought of his hometown.",
"isEnd": false,
"segId": 12,
"src": "床前明星辰,疑是地之上霜,举头望明月,底头思我的故乡。",
"type": 0,
"bg": 0,
"ed": 4770
}
字段 | 含义 | 描述 |
---|---|---|
bg | 句子在整段语音中的开始时间,单位毫秒(ms) | 中间结果的bg为准确值 |
ed | 句子在整段语音中的结束时间,单位毫秒(ms) | 中间结果的ed为0 |
w | 词识别结果 | |
wp | 词标识 | n-普通词;s-顺滑词(语气词);p-标点 |
wb | 词在本句中的开始时间,单位是帧,1帧=10ms 即词在整段语音中的开始时间为(bg+wb*10)ms | 中间结果的 wb 为 0 |
we | 词在本句中的结束时间,单位是帧,1帧=10ms 即词在整段语音中的结束时间为(bg+we*10)ms | 中间结果的 we 为 0 |
type | 结果类型标识 | 0-最终结果;1-中间结果 |
seg_id | 转写结果序号 | 从0开始 |
biz | 业务标识字段,开启翻译功能后值为 trans | 翻译功能标识 |
src | 送翻译的原始文本 | 音频对应的识别文本 |
dst | 目标语种翻译文本结果 | 与原始文本src对应 |
isEnd | 翻译结束标识 | 如果为 true,标识翻译结果已推送完成 |
{
"action": "error",
"code": "10105",
"data": "",
"desc": "illegal access|illegal client_ip: xx.xx.xx.xx",
"sid": "rta..."
}
错误码 | 描述 | 说明 | 处理方式 |
---|---|---|---|
0 | success | 成功 | |
10105 | illegal access | 没有权限 | 检查apiKey,ip,ts等授权参数是否正确 |
10106 | invalid parameter | 无效参数 | 上传必要的参数, 检查参数格式以及编码 |
10107 | illegal parameter | 非法参数值 | 检查参数值是否超过范围或不符合要求 |
10110 | no license | 无授权许可 | 检查参数值是否超过范围或不符合要求 |
10700 | engine error | 引擎错误 | 提供接口返回值,向服务提供商反馈 |
10202 | websocket connect error | websocket连接错误 | 检查网络是否正常 |
10204 | websocket write error | 服务端websocket写错误 | 检查网络是否正常,向服务提供商反馈 |
10205 | websocket read error | 服务端websocket读错误 | 检查网络是否正常,向服务提供商反馈 |
16003 | basic component error | 基础组件异常 | 重试或向服务提供商反馈 |
10800 | over max connect limit | 超过授权的连接数 | 确认连接数是否超过授权的连接数 |
注:?demo只是一个简单的调用示例,不适合直接放在复杂多变的生产环境使用
讯飞对外开放机构AI作用-JAVASDK: 讯飞开发appAI功能-PHPSDK:答:实时交通交通转写只大力支持webapi接口协议,开放政策服务平台“实时交通交通手机声音转写”会WebSocket应用,根据是有编写程序地基的开发建设者顾客。如果你您是个顾客,没想到会通过编写程序方试进行控制手机声音转写功效,会去讯飞听到联系电话,理解手机声音转写功效的大多详细情况。
答:繁体中文版常见的话、中英对照混杂认别、英语,小语种同时繁体中文版方言词词可到抑制台-时实音频转写-方言词词/语种处使用体验或选择。
答:抽样率为16K,抽样的深度为16bit的pcm_s16le音频视频
答:立即语音视频转写还可以立即辨别继续的音屏流,没想到是立即回到,音屏流总长度理论与实践上不做上限,明显的应运情境是大时会或者是直播回放的立即字幕文件。
答:需要了解为批量下载的相隔为40ms,个人建议音频视频软件流每40ms向保障器群发1280字节,发过快有可能引发模块出现异常,音频视频软件群发相隔超时日子为15s,超时保障端报错并主动的切断连结。
答:扫码登录讯飞对外开放电商平台,迈入实时时间qq语音转写对话框,弹窗“审请买”功能键,在线平台买时间表与路数就行。
答:微信登陆讯飞开放系统,弹窗右上角的“控住台”,弹窗“我的选用”,选择到所创建活动的实时路况微信语音转写Web api选用系统,弹窗IP白名册“监管”快捷,既能加上IP白名册。
答:可在实时语音转写服务的产品页面,直接领取免费使用权限;到期后可直接在控制台点击购买时长和授权(价格可见)
答:支持时长:在线语音听写单次会话支持60s以内的语音转文字;实时语音转写的音频流长度理论上不做限制
支持语种:在线语音听写除中文普通话和英文外,支持12个语种,25种方言;实时语音转写支持中文普通话、中英混合识别、英语、开通的小语种以及中文方言;
应用场景:在线语音听写主要用于短语音的识别,如聊天输入、语音搜索等;实时语音转写可以实时识别持续的音频流,典型的应用场景是大会或者直播的实时字幕
答:未可以通过贴心服务端校准,请观察appid,apiKey,ip可信任公示,checkSum等授权书指标是否是合适。
答:就没有权限经营或权限数已满,请至掌握台检查天数和路数状态,并检查可以保存期;假若未补领免费的包,请至好产品网站页面补领。
答:不搭载
答:最先想要使业务领域在便用没受关系,这样在接入前三天在便用耗时高出,转写作用并不太会就关闭。此项接入闪断后耗时已经会出现为负数的事情,请在在便用期间中私信耗时乘余事情并及早售卖耗时。