帮助与文档 > 产品文档 > 智能语音服务 > API文档 > 大模型语音复刻合成(异步批量合成)
大模型语音复刻合成(异步批量合成)

大模型语音复刻,合成(异步合成批量音频)

说明

Hi,您好,欢迎使用有道智云 大模型语音复刻, 大模型语音合成 (异步合成批量音频) 接口服务。

本文档主要针对需要集成HTTP API的技术开发工程师,详细描述相关的技术内容。

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

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

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

客服QQ:1906538062

智云翻译技术交流QQ 1群: 652880659

智云翻译技术交流QQ 2群: 669384425

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

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

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

温馨提示:

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

接口说明

大模型语音复刻, 大模型语音合成 (异步批量),基于网易有道的语音识别技术,通过上传少量录音,赋予产品声音形象,可在读小说、播音主持、讲故事、客服服务等场景应用。 服务主要分模型复刻(上传音频) 和 模型调用(异步合成音频) 两部分。

注意: 使用前必须在控制台开通 “大模型声音复刻” 和 “大模型语音合成” 两个服务 !!!

协议须知

调用方在集成个性化语音定制服务API时,请遵循以下规则。

规则 描述
传输方式 HTTPS
请求方式 POST
字符编码 统一使用UTF-8 编码

接口调用参数

服务调用地址:

https://openapi.youdao.com

大模型声音复刻(音频上传)

  • 接口uri:/tts_gateway/v2/upload
  • 请求方式:POST
  • 接口说明:上传 语音合成的参考音频, 提交批量任务前必须有一个voiceId
  • 接口参数:
    • 格式: 表单
    • 具体参数:
参数名称 类型 含义 是否必填 示例
appKey String 应用ID True 可在 应用管理 查看
curtime String 时间戳(秒) True
salt String 随机字符串 True
sign String 签名信息:sha256(appKey + salt + curtime +密钥) True
signType String 签名类型 True v4
name String 音色名称 (不超过50字符) True voiceName
model String lite 速度更快; pro效果更好, 提供情绪参数;
默认pro
False lite, pro
audioFile MultipartFile 音色音频文件, 必需wav格式,单声道 16k/24k True
emotionAudioFile MultipartFile 情感参考音频文件, 只有model=pro时生效, 非必需 False

注: 音频时长也会影响合成接口的响应时间, 建议5~10s音频最好

  • 响应结果
{
      "code": "0",
      "data": {
        "voiceId": "01f0e64122ee4e3d9ac03f28556b62b2"
      },
      "requestId": "07399d85-c401-43b0-b9fd-892b225bccfb",
      "message": "success",
      "successful": true
}

大模型语音异步批量合成提交

  • 接口uri:/tts_gateway/v2/synthesis_async
  • 请求方式:POST
  • 接口说明:使用 复刻接口提供的voiceId 提交批量合成任务, 需传入文本列表, 返回taskId
  • 接口参数:
    • 格式: jsonBody
    • 具体参数:
参数名称 类型 含义 是否必填 示例
appKey String 应用ID True 可在 应用管理 查看
curtime String 时间戳(秒) True
salt String 随机字符串 True
sign String 签名信息:sha256(appKey + salt + curtime +密钥) True
signType String 签名类型 True v4
voiceId String 音色id, 后续提供查询接口, 若没记下来可以联系服务提供方 True
volume String 这批音频的音量, 0.5~2.0, 默认1.0 False
speed String 这批音频的速度, 0.5~2.0, 默认1.0 False
format String 期望音频格式: mp3 / wav True wav
qList List<TextEmotionItem> 合成文本列表(带情绪参考文本), 最多1000个 True
sampleRate String 采样率 8000/16000/22050/24000/32000, 默认24000 False 16000
channel String 通道数 1 / 2, 默认1 False 1

其中qList: TextEmotionItem:

参数名称 类型 含义 是否必填 示例
q String 合成文本 True 我热爱运动,尤其是足球
emotionReferText String 模型=pro生效, 情绪参考文本 False 开心, 恐惧, 方案, 低落, 惊讶, 自然 等
  • 响应结果
正常返回:
  - 响应格式: json
  - 示例: 
   {
      "code": "0",
      "data": {
          "taskId":"41ff602e2ccc4408b0e18d1c83bba2c6"
      },
      "requestId": "07399d85-c401-43b0-b9fd-892b225bccfb",
      "message": "success",
      "successful": true
   }
  

大模型语音异步任务 查询进度

  • 接口uri:/tts_gateway/v2/get_progress
  • 请求方式:POST
  • 接口说明:使用 submit接口提供的taskId 查询批量合成任务进度
  • 接口参数:
    • 格式: jsonBody
    • 具体参数:
参数名称 类型 含义 是否必填 示例
appKey String 应用ID True 可在 应用管理 查看
curtime String 时间戳(秒) True
salt String 随机字符串 True
sign String 签名信息:sha256(appKey + salt + curtime +密钥) True
signType String 签名类型 True v4
taskId String 批量任务id True
  • 响应结果
正常返回:
  - 响应格式: json
  - 注:   status = PROCESSING 代表任务正在处理中, 存在还未被调度合成的文本
          status = SUCCESS 代表任务中的文本列表全部合成成功
          status = PARTIAL_SUCCESS 代表任务部分成功, 文本存在合成失败的情况, task会有重试失败的调度逻辑, 
          若重试成功任务状态会SUCCESS, 但也存在重试后依旧失败, 状态无法变更为SUCCESS的情况 
  - 示例: 
   {
      "code": "0",
      "data": {
          "status":"PROCESSING",
          "totalCount":100,
          "successCount":5
      },
      "requestId": "07399d85-c401-43b0-b9fd-892b225bccfb",
      "message": "success",
      "successful": true
   }
   
   {
      "code": "0",
      "data": {
          "status":"SUCCESS",
          "totalCount":100,
          "successCount":100
      },
      "requestId": "07399d85-c401-43b0-b9fd-892b225bccfb",
      "message": "success",
      "successful": true
   }
   
   {
      "code": "0",
      "data": {
          "status":"PARTIAL_SUCCESS",
          "totalCount":100,
          "successCount":99
      },
      "requestId": "07399d85-c401-43b0-b9fd-892b225bccfb",
      "message": "success",
      "successful": true
   }
  

大模型语音异步任务 获取结果

  • 接口uri:/tts_gateway/v2/get_result
  • 请求方式:POST
  • 接口说明:使用 submit接口提供的taskId 获取任务的音频结果
    注: mediaUrl 是合成成功的音频地址, 地址过期时间是1天, 需要重新调用该接口获得新的地址
  • 接口参数:
    • 格式: jsonBody
    • 具体参数:
参数名称 类型 含义 是否必填 示例
appKey String 应用ID True 可在 应用管理 查看
curtime String 时间戳(秒) True
salt String 随机字符串 True
sign String 签名信息:sha256(appKey + salt + curtime +密钥) True
signType String 签名类型 True v4
taskId String 批量任务id True
  • 响应结果
正常返回:
  - 响应格式: json
  - 注: data中是一个列表, 代表所有合成成功的音频地址和对应的文本索引, 
       举例: 如果第5个文本没合成成功, 查到的结果列表可能没有qIndex=4的元素 (index从0开始)
  - 示例: 
   {
	"code": "0",
	"message": "success",
	"data": [{
		"mediaUrl": "xxxx0",
		"qIndex": 0
	}, {
		"mediaUrl": "xxxx1",
		"qIndex": 1
	}, {
		"mediaUrl": "xxxx2",
		"qIndex": 2
	}, 
	……
    {
		"mediaUrl": "xxxx99",
		"qIndex": 99
	}],
	"requestId": "12a7290c-1404-449b-9499-7a45dd947bf5",
	"successful": true
}
  

错误代码

错误码 含义
101 缺少必填的参数,首先确保必填参数齐全,然后确认参数书写是否正确。
102 不支持的语言类型
103 翻译文本过长
104 不支持的API类型
105 不支持的签名类型
106 不支持的响应类型
107 不支持的传输加密类型
108 应用ID无效,注册账号,登录后台创建应用并完成绑定,可获得应用ID和应用密钥等信息
109 batchLog格式不正确
110 无相关服务的有效应用,应用没有绑定服务应用,可以新建服务应用。注:某些服务的翻译结果发音需要tts服务,需要在控制台创建语音合成服务绑定应用后方能使用。
111 开发者账号无效
112 请求服务无效
113 q不能为空
114 不支持的图片传输方式
116 strict字段取值无效,请参考文档填写正确参数值
201 解密失败,可能为DES,BASE64,URLDecode的错误
202 签名检验失败,如果确认应用ID和应用密钥的正确性,仍返回202,一般是编码问题。请确保翻译文本 q 为UTF-8编码.
203 访问IP地址不在可访问IP列表
205 请求的接口与应用的平台类型不一致,确保接入方式(Android SDK、IOS SDK、API)与创建的应用平台类型一致。如有疑问请参考入门指南
206 因为时间戳无效导致签名校验失败
207 重放请求 (接口salt+curtime来防重放(即一个请求不可以被请求2次),所以salt最好为UUID。)
301 辞典查询失败
302 翻译查询失败
303 服务端的其它异常
304 翻译失败,请联系技术同学
308 rejectFallback参数错误
309 domain参数错误
310 未开通领域翻译服务
401 账户已经欠费,请进行账户充值
402 offlinesdk不可用
411 访问频率受限,请稍后访问
412 长请求过于频繁,请稍后访问
901000 认证服务异常, 请联系服务提供方
900000 音色不存在
900001 服务端异常, 请联系服务提供方
900003 批量任务不存在