跳转到内容

同传 PaaS API 简介

概念解释

使用 WebSocket 连接,实时输入音频数据,返回识别结果和翻译结果,同时支持“翻译结果TTS”和“说话人识别”。

说明

Hi,您好,欢迎使用有道智云接口服务。

本文档主要针对需要集成HTTP API的技术开发工程师,详细描述接口计费,入参,返回值等信息。

如果您有与我们商务合作的需求,可以通过以下方式联系我们:

商务邮箱: AIcloud_Business@corp.youdao.com

如果您对文档内容有任何疑问,可以通过以下几种方式联系我们:

客服QQ:1906538062

AIGC产品技术交流群 :837394306

联系邮箱: zhiyun@corp.youdao.com

温馨提示:

  • 本文档主要针对开发人员,接入测试前需要获取应用ID和应用密钥,并创建应用;如果您还没有,请按照 新手指南 获取。
  • 平台向每个账户赠送50元的体验金,供用户集成前测试所用。

协议须知

调用方在集成本接口时,请遵循以下规则。

规则描述
传输方式WSS
请求方式WebSocket
字符编码二进制数据流
请求格式wav
响应格式JSON

接口定义

同传接口地址:

wss://openapi.youdao.com/stream-audio/stream-si

接口调用流程

服务接口的调用分为认证、实时通信两阶段。

认证阶段

请求参数

参数名称类型含义是否必填示例或描述
appKeystring应用ID控制台创建应用获取
saltstring随机值
curtimestring时间戳(单位到秒)1757560399
signstring签名参见下方的签名生成方法
fromstring原语种参考语种列表
tostring目标语种参考语种列表
speakerRequiredboolean支持说话人识别默认 false
ttsRequiredboolean支持翻译结果 TTS默认 false
ttsSexStringTTS 性别,可选值: female, male默认 female

参数额外说明

1、 auto为源语种的时候,目标语种须指定语种不能为auto.

2、❗❗❗音频格式要求❗❗❗
格式:wav(不压缩、pcm编码)
采样率:16k
位深:16bit
声道:单声道

签名生成方法如下(v4):

sign=sha256(appKey+salt+curtime+应用密钥);

认证阶段响应示例:

服务端通过 text message 返回 json 字符串的认证结果,参数示例:

成功:

json
{
  "result": [],
  "action": "started",
  "errorCode": "0"
}

失败:

json
{
  "result": [],
  "msg": "signature check failed",
  "errorCode": "202"
}

实时通信阶段

认证成功之后,进入实时通信阶段,此阶段客户端发送音频流和结束标识,并接收结果或错误。

2.1 发送音频流

此阶段客户端通过 binary message 发送音频流,内容为音频的二进制数据,此过程的发送频率将影响文字结果展示的实时性。

强烈建议以 200ms 间隔发送 200ms 音频数据,若间隔超时 15s 以上,服务端将停止识别。

2.2 发送结束标识

客户端完成所有音频数据的发送后,需发送一个特殊的 binary message 到服务端作为音频流发送结束的标识,内容为:

{"end": "true"}

注:该标识大小写敏感,建议直接复制。

2.3 接收转写结果

交互过程中,服务端不断通过 text message 返回实时识别结果到客户端,响应结果是以json形式输出(为text message)。

识别结果参数说明:

字段类型含义
errorCodeString错误码
actionString识别行为: started, recognition, error
isEndboolean识别是否结束
result对象数组目前数组只包含一个元素
result[0].stObject识别句子对象
result[0].st.sentenceString识别句子内容
result[0].st.bgNumber句子开始时间,毫秒
result[0].st.edNumber句子开始时间,毫秒
result[0].st.typeNumber参见 partial 属性,0代表完整句子,1代表非完整句子
result[0].st.partialboolean是否完整句子
result[0].st.translationString翻译结果
result[0].st.speakerString说话人编号
result[0].st.ttsString翻译结果的 TTS, wav格式字节数组对应的16进制编码字符串

注:仅当设置请求参数ttsRequired=true,且返回结果为“完整句子”时该字段才存在。
result[0].segIdNumber识别结果顺序编码,从 1 开始
data.resolutionString参见对应的请求参数
data.bgmboolean参见对应的请求参数
data.movementAmplitudeString参见对应的请求参数
data.watermarkboolean参见对应的请求参数
data.createAtString任务创建时间

响应样例

{
  "errorCode": "0",
  "action": "recognition",
  "result": [
    {
      "st": {
        "sentence": "This is English testing.",
        "bg": 0,
        "ed": 1860,
        "type": 1,
        "partial": true,
        "translation": "这是英语测试。"
        "speaker": "0"
      },
      "segId": 1
    }
  ],
  "isEnd": false
}

支持的语种

语种名称语种代码说明
西班牙语es
法语fr
阿拉伯语ar
俄语ru
葡萄牙语pt
德语de
日语ja
印地语hi
韩语ko
意大利语it
荷兰语nl
瑞典语sv
波兰语pl
土耳其语tr
泰语th
越南语vi
印尼语id
马来语ms
中文zh-CHS
英文en
粤语yue
中英互译en-zhfromto都需要设置为en-zh
自动识别auto
  • auto支持自动语种识别和翻译

API错误代码列表

状态码状态码含义
0成功
1未知错误,请联系客服
101参数错误,请参见接入文档
108应用ID无效,注册账号,登录后台创建应用并完成绑定,可获得应用ID和应用密钥等信息
110当前应用ID没有权限访问此服务,需要在控制台给当前应用ID开通此服务
112请求的服务不存在
202签名检验失败
206因为时间戳无效导致签名校验失败
207重放请求
901000认证服务异常,请联系客服
901100翻译服务异常,请联系客服
901110大模型翻译服务异常,请联系客服
901150语音合成调用失败
901200语音识别算法错误
901201语音识别算法连接失败
901202语音识别算法连接提前关闭
901203语音识别算法连接异常断开
901210客户端连接空闲超时
901220音频缓存队列溢出
901230说话人识别错误
909999未知异常

常用语言 Demo

Java 示例

暂无

python3 示例

Demo

go 示例

暂无