帮助与文档 > 产品文档 > 智能语音服务 > 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
请求方式GET或POST
字符编码统一使用UTF-8 编码
请求格式表单
响应格式JSON

接口调用参数

个性化大模型语音定制调用地址:

https://openapi.youdao.com

音频格式

格式支持:wav, mp3等格式

模型定制阶段

创建语音包接口

  • 接口uri:/ttsLlm/packet/create
  • 请求方式:POST
  • 接口说明:

创建语音包接口,通过语音包收集录音,定制个性化音色模型

接口参数:

参数名称类型含义是否必填示例
appKeyString应用IDTrue可在 应用管理 查看
curtimeString时间戳(秒)True1666600000
saltString随机字符串True
signString签名信息:sha256(appKey + salt + curtime +密钥)True
signTypeString签名类型Truev4
nameString语音包名称 (不超过50字符)True语音包
genderString性别Truemale或female
descriptionString语音包描述 (不超过250字符)False这是语音包描述
  • 响应结果

-

{
"errorCode":"0",//错误码
"msg":"success",//信息说明
"result":{
    "packetId":"P_24A59791123C49A9B498DCD1972803B3"//返回的语音包ID
  }
}

录音上传接口

  • 接口uri:/ttsLlm/packet/upload
  • 请求方式:POST
  • 接口说明:

上传语音,指定语种,把语音上传到语音包,为训练作准备
注:上传音频文件需要有扩展名,例如xxx.mp3, xxx.wav等, 且录音中必须只有一种音色,30s~5min

  • 接口参数:
参数名称类型含义是否必填示例
appKeyString应用IDTrue可在 应用管理 查看
curtimeString时间戳(秒)True1666600000
saltString随机字符串True
signString签名信息:sha256(appKey + salt + curtime +密钥)True
signTypeString签名类型Truev4
fileMultipartFile录制评测音频TrueMultipartFile,音频格式:wav, mp3等格式,30s ~ 5min
packetIdString语音包idTrueP_24A59791123C49A9B498DCD1972803B3
lanString语言类型Trueen

支持语言

英文名中文名代码
English (US)英语en
Mandarin (China)普通话(中国)zh-CHS
  • 响应结果
{
"errorCode":"0",//错误码
"msg":"success",//信息说明
}

清空录音接口

  • 接口uri:/customVoice/packet/deleteVoice
  • 请求方式:POST
  • 接口说明:

清空语音包内的语音,重新上传语音
注:不要直接覆盖原音频

  • 接口参数:
参数名称类型含义是否必填示例
appKeyString应用IDTrue可在 应用管理 查看
curtimeString时间戳(秒)True1666600000
saltString随机字符串True
signString签名信息:sha256(appKey + salt + curtime +密钥)True
signTypeString签名类型Truev4
packetIdString语音包idTrueP_24A59791123C49A9B498DCD1972803B3
  • 响应结果
{
"errorCode":"0",//错误码
"msg":"success",//信息说明
}

启动训练接口

  • 接口uri:/ttsLlm/model/launch
  • 请求方式:POST
  • 接口说明:

启动训练, 前置条件是必须上传了音频,待模型训练完成后可以调用合成接口

  • 接口参数:
参数名称类型含义是否必填示例
appKeyString应用IDTrue可在 应用管理 查看
curtimeString时间戳(秒)True1666600000
saltString随机字符串TrueUUID(唯一识别通用码)
signString签名信息:sha256(appKey + salt + curtime +密钥)Truesha256(appKey + salt + curtime +密钥)
signTypeString签名类型Truev4
packetIdString语音包idTrueP_24A59791123C49A9B498DCD1972803B3
genderString性别False非必填,若填必需和创建语音包一致
  • 响应结果
{
"errorCode":"0",//错误码
"msg":"success",//信息说明
"result": {    
    "estimateSeconds":10 //剩余时间 秒
        "modelList":[
          {
            "modelId":"M_A0852354A2ED4BB19DE759F1B80C6E37", //模型id 启动成功返回
            "createTime":"2023-04-23 13:59:43", // 创建时间 启动成功返回
            "taskId":"T_6381E68890C843488FD9569217EFA36A", // 训练任务id 启动成功返回
            "modelType":"vc", //模型类型
            "modelStatus":"started", //模型状态("started":训练启动,"failed":启动失败)
            "failedReason":"" // 失败原因 启动失败返回
          }
        ]
    }
}

查询训练状态接口

  • 接口uri:/ttsLlm/model/checkStatus
  • 请求方式:GET
  • 接口说明:
    查询当前训练任务状态
  • 接口参数:
参数名称类型含义是否必填示例
appKeyString应用IDTrue可在 应用管理 查看
curtimeString时间戳(秒)True1666600000
saltString随机字符串True
signString签名信息:sha256(appKey + salt + curtime +密钥)True
signTypeString签名类型Truev4
packetIdString语音包idTrueP_24A59791123C49A9B498DCD1972803B3
taskIdString训练任务idTrueT_D2560E2DCF6E435EA7BEDD88AC88B9CC
  • 响应结果
{
"errorCode":"0",//错误码
"msg":"success",//信息说明
"result": {
    "taskId":"T_D2560E2DCF6E435EA7BEDD88AC88B9CC", // 训练任务id    
    "estimateSeconds":"10", //剩余时间 秒
    "packetId":"P_24A59791123C49A9B498DCD1972803B3",//语音包id
    "modelId":"M_A0852354A2ED4BB19DE759F1B80C6E37",//模型id
    "status":"1" //训练状态 0:开始,1:完成,2:终止,3:失败,4:语音包创建
    }
}

删除语音包接口

  • 接口uri:/ttsLlm/packet/delete
  • 请求方式:POST
  • 接口说明:
    删除指定语音包,同时会删除包含录音及训练模型
  • 接口参数:
参数名称类型含义是否必填示例
appKeyString应用IDTrue可在 应用管理 查看
curtimeString时间戳(秒)True1666600000
saltString随机字符串True
signString签名信息:sha256(appKey + salt + curtime +密钥)True
signTypeString签名类型Truev4
packetIdString语音包idTrueP_24A59791123C49A9B498DCD1972803B3
  • 响应结果
{
"errorCode":"0",//错误码
"msg":"success",//信息说明
}

训练任务状态码

状态ID状态描述
0训练任务启动
1训练任务结束
2训练任务已终止
3训练任务失败
4语音包创建阶段,训练任务未启动

训练错误代码

错误码含义
101缺少必填的参数,首先确保必填参数齐全,然后,确认参数书写是否正确。
102不支持的语言类型
103翻译文本过长
104不支持的API类型
105不支持的签名类型
106不支持的响应类型
107不支持的传输加密类型
108应用ID无效,注册账号,登录后台创建应用和实例并完成绑定,可获得应用ID和应用密钥等信息
109batchLog格式不正确
110无相关服务的有效实例,应用没有绑定服务。注:某些服务的结果发音需要tts,需要在控制台创建语音合成绑定应用后方能使用。
111开发者账号无效
112请求服务无效
113q不能为空
114不支持的图片传输方式
115语音包异常:不存在或者已删除或者不属于当前devId
116referenceSynthesisId已存在
201解密失败,可能为DES,BASE64,URLDecode的错误
202签名检验失败
203访问IP地址不在可访问IP列表
205请求的接口与应用的平台类型不一致,确保接入方式(Android SDK、IOS SDK、API)与创建的应用平台类型一致。
206因为时间戳无效导致签名校验失败
207重放请求
303服务端的其它异常
401账户已经欠费停
402offlinesdk不可用
403无权限
404资源不存在
405auth服务不可用
411访问频率受限,请稍后访问
412超过最大翻译字符数
VC001不支持训练类型
VC002不支持性别类型
VC003无有效ticket
VC004语音包创建失败
VC005语音包id不存在
VC006环境音检测失败
VC007语音包重训练次数耗尽
VC008当前存在训练中的任务
VC009启动训练失败
VC010训练任务id不存在
VC011删除语音包失败
VC012获取语音包列表失败
VC013获取训练状态失败
VC014语音评测失败
VC015开发者id为空
VC016userId命名空间为空
VC022回调地址错误
VC023未知合成任务
VC024合成URL错误
VC025获取合成结果失败
VC026文件大小超限
VC027description超出限制
VC028name字段超出限制
VC029order字段取值错误
VC030text字段超限
VC031当日创建语音包到达上限
VC032音频时长错误
VC033userId和packetId不匹配
VC034语音包录制文本重复
VC036获取语音包详情失败
VC041音量过高
VC042音频格式错误
VC043音频次序错误
VC044音频质量过低
VC045创建任务数超出限制(每天最多创建1000个训练任务)
VC046音频数量错误
VC047不支持的启动类型
VC048处理音频错误
VC049调用Asr服务错误
VC049上传音频错误
VC051文件大小超限
VC052文件时长不合法