帮助与文档 > 产品文档 > 智能语音服务 > API文档 > 双向流式API-支持复刻(多音色)
双向流式API-支持复刻(多音色)

双向流式API-支持复刻(多音色)

说明

Hi,您好,欢迎使用有道智云双向流式API-支持复刻(多音色)接口服务。

本文档主要针对需要集成HTTP API的技术开发工程师,详细描述双向流式API-支持复刻(多音色)相关的技术内容。

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

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

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

客服QQ:1906538062

智云翻译技术交流QQ 3群: 807539209

智云翻译技术交流QQ 4群: 936752411

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

温馨提示:

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

接口说明

双向流式API为用户提供文本转语音能力,支持多语种、支持WebSocket协议流式调用。

接口调用参数

双向流式API调用地址:

wss://openapi.youdao.com/duplex_stream_tts/stream_tts

接口调用

认证阶段

  • 请求参数格式:form
参数名 类型 是否必填 描述 示例
appKey String 已申请的应用ID ID
salt String UUID uuid,唯一通用识别码,确保请求唯一性即可
curtime String 时间戳(秒) TimeStamp
signType String 数字签名类型 固定v3
sign String 加密数字签名。 sha256
q String 调用类型 推荐为curtime

签名sign生成方法如下: signType=v3; sign=sha256(appKey+q+salt+curtime+应用密钥)。

通信阶段

  • 发送text message :json格式
参数名 类型 是否必填 描述
text String 要合成的文本,长度不能超过2000字符
voiceName String 合成使用的音色名
userVoice String 指定克隆音色音频文件地址,是否必传参考下方支持的音色,要求是可下载的地址,音频格式可以是wav/mp3,建议3-7s
userVoiceText String 指定克隆音色音频的文本,是否必传参考下方支持的音色
format String 目标音频格式。支持mp3, wav,不填则默认为mp3
sampleRate Integer 目标采样率,可选范围视具体音色而定,不填已模型默认音色为准,具体参考下方支持的音色
speed Double 目标语速,范围为[0.5, 2],不填则默认为1
volume Double 目标音量,范围为[0.5,10],不填则默认为1
pitch Double 目标声调,范围为[0.5,1.5],不填则默认为1
lang String 语种,支持中文:zh-CHS、 英文:en,默认zh-CHS
stream Boolean 客户端推送文本的方式是否为流式,默认false
true表示服务端会持续接收客户端结果,等待时机进行处理并返回。
false表示一旦接收到客户端消息就会处理并返回。
end Boolean 表示客户端流式推送文本的最后一个包,只有stream=true才生效,默认true

示例

{
    "text": "再见。",
    "voiceName": "ONE_WORD_CHUNK_WAVE",
    "lang": "zh-CHS",
    "userVoice": "https://speech-custom-tts.nos-jd.163yun.com/test/test.mp3",
    "userVoiceText": "你好",
    "stream": true,
    "end": true
}

返回结果

{
    // 错误码
    "code": 0,
    // 当前这句话是否处理完成,0-没有完成,1-完成
    "finish": 1,
    // 每一个回复消息的唯一标识
    "messageId": "ade0af68-9003-4440-b4b8-7749f36679a5",
    // 错误消息
    "msg": "SUCCESS",
    // 本次请求的唯一标识,如果是流式输入的场景(stream=true),在收集输入的过程中,requestId都是一样的,用于查问题
    "requestId": "2b12ec51-61fe-4279-91a6-f236a83a8065",
    // 处理结果
    "result": {
        // 音频类型
        "format": "mp3",
        // 采样率
        "sampleRate": 16000,
        // 处理的输入文本
        "text": "再见。",
        // 音频base64编码
        "voice": "音频base64xxxx"
    },
    // 整个ws的id
    "sessionId": "47e31f68-c641-390e-4fa8-2e5774ef6115"
}

支持的音色

voiceName 描述 是否必传克隆音频 采样率 默认采样率
ONE_WORD_CHUNK_WAVE 音色克隆 8000、16000、24000、44100、48000 16000
audiobook1.1 固定音色 否,不建议传 8000、16000、24000、44100、48000 48000
audiobook1.0 固定音色 否,不建议传 8000、16000、24000、44100、48000 48000
danyaXuejie 固定音色 否,不建议传 8000、16000、24000、44100、48000 48000
shaonvJingpin 固定音色 否,不建议传 8000、16000、24000、44100、48000 48000
qnJingYingJingPin 固定音色 否,不建议传 8000、16000、24000、44100、48000 48000
mixVoice 固定音色 否,不建议传 8000、16000、24000、44100、48000 48000
ningLean 固定音色 否,不建议传 8000、16000、24000、44100、48000 48000
podcastGirlPlatform 固定音色 否,不建议传 8000、16000、24000、44100、48000 48000
presenterFemale 固定音色 否,不建议传 8000、16000、24000、44100、48000 48000
presenterMale 固定音色 否,不建议传 8000、16000、24000、44100、48000 48000
suQian 固定音色 否,不建议传 8000、16000、24000、44100、48000 48000
wumeiYujie 固定音色 否,不建议传 8000、16000、24000、44100、48000 48000

交互形式

stream_tts.png]

错误代码列表

错误码 错误描述
101 缺少必填的参数,首先确保必填参数齐全,然后,确认参数书写是否正确。
102 不支持的语言类型
103 翻译文本过长
104 不支持的API类型
105 不支持的签名类型
106 不支持的响应类型
107 不支持的传输加密类型
108 应用ID无效,注册账号,登录后台创建应用和实例并完成绑定,可获得应用ID和应用密钥等信息
109 batchLog格式不正确
110 无相关服务的有效实例,应用没有绑定服务。注:某些服务的结果发音需要tts,需要在控制台创建语音合成绑定应用后方能使用。
111 开发者账号无效
112 请求服务无效
113 q不能为空
114 不支持的图片传输方式
115 语音包异常:不存在或者已删除或者不属于当前devId
116 referenceSynthesisId已存在
201 解密失败,可能为DES,BASE64,URLDecode的错误
202 签名检验失败
203 访问IP地址不在可访问IP列表
205 请求的接口与应用的平台类型不一致,确保接入方式(Android SDK、IOS SDK、API)与创建的应用平台类型一致。
206 因为时间戳无效导致签名校验失败
207 重放请求
303 服务端的其它异常
401 账户已经欠费停
402 offlinesdk不可用
403 无权限
404 资源不存在
405 auth服务不可用
411 访问频率受限,请稍后访问
412 超过最大翻译字符数
110000 签名错误
110101 缺少合成文本
110101 缺少音色名
110101 语种错误
110102 音色名错误
110102 合成格式错误
110102 采样率错误
110102 语速取值错误
110102 音量取值错误
110102 声调取值错误
110102 情感取值错误
110103 合成文本长度超出限制