资讯 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

大模型声音复刻

接口描述

百度大模型声音复刻是使用全新自研语音大模型算法打造的轻量级音色定制方案。用户只需录制10s的音频,即可极速复刻音色。支持自定义文本复刻与双流式语音合成,广泛应用于配音、数字人、情感陪伴、语音助手等场景。请点击链接进入大模型声音复刻体验专区。

产品优势

超低门槛:无需专业设备与场地,极大提升效率,降低使用门槛

精准还原:精准还原音色特点、说话风格、韵律起伏、声学环境

极速复刻:最低10秒即可完成高品质复刻,精准呈现音色细节,高效逼真

多种方言:支持河南话、上海话、四川话方言的复刻还原与生成

接口调用详情

  • 接口列表
序号
接口名称
接口URL
1 获取训练文本 https://aip.baidubce.com/rest/2.0/speech/publiccloudspeech/v1/voice/clone/text
2 创建音色 https://aip.baidubce.com/rest/2.0/speech/publiccloudspeech/v1/voice/clone/create
3 音色列表查询 https://aip.baidubce.com/rest/2.0/speech/publiccloudspeech/v1/voice/clone/list
4 音色详情查询 https://aip.baidubce.com/rest/2.0/speech/publiccloudspeech/v1/voice/clone/detail
5 删除音色 https://aip.baidubce.com/rest/2.0/speech/publiccloudspeech/v1/voice/clone/delete
6 流式在线合成 wss://aip.baidubce.com/ws/2.0/speech/publiccloudspeech/v1/voice/clone/tts
7 非流式在线合成 https://aip.baidubce.com/rest/2.0/speech/publiccloudspeech/v1/voice/clone/tts

音色创建

获取训练文本

接口描述

接口描述:通过此接口获取用于训练的文本,使用此接口则创建音色时需要上传与此文本内容对应的音频

接口名称:https://aip.baidubce.com/rest/2.0/speech/publiccloudspeech/v1/voice/clone/text

请求方法:POST

输入参数

输出参数

属性 参数名称 类型 说明
错误状态 status int
错误信息 message string
数据 data object 响应数据

data响应参数

属性 参数名称 类型 说明
文本ID text_id string 唯一文本id(获取文本id后,文本id有效期为24小时,每个文本id创建音色后自动失效)
文本内容 text string

示例

curl --silent --location --request POST 'https://aip.baidubce.com/rest/2.0/speech/publiccloudspeech/v1/voice/clone/text?access_token=XXX'

创建音色

接口描述

接口描述:通过上传训练音频来创建音色,支持音频链接与音频内容两种音频上传方式

接口名称:https://aip.baidubce.com/rest/2.0/speech/publiccloudspeech/v1/voice/clone/create

请求方法:POST

输入参数

属性
参数名称 类型
是否必填
说明
音色名称 voice_name string 必填 音色名称,同一个用户下面,音色名称不能重复
音色描述 voice_desc string 可选 音色说明
音频链接 audio_url string 音频链接和音频内容二选一 两个参考同时传:以 audio_file 为准
支持:wav、mp3、ogg、aac。音频大小 5M以内,5~20 秒内
音频内容 audio_file string 音频链接和音频内容二选一 音频文件内容base64
支持上传方言进行复刻和迁移,范围包括河南话、上海话、四川话
音频文本ID text_id string 选填 即文本ID,使用自定义文本复刻则无需填写

输出参数

属性 参数名称 类型 说明
错误状态 status int 0 创建成功,其他为异常
错误信息 message string
数据 data object 对应发音人ID

data响应参数

属性 参数名称 类型 说明
音色 ID voice_id int 唯一id

示例

  • 通过音频URL创建音色
curl --silent --location --request POST 'https://aip.baidubce.com/rest/2.0/speech/publiccloudspeech/v1/voice/clone/create?access_token=XXXX' \
--header 'Content-Type: application/json' \
--data '{
    "voice_name": "example",
    "voice_desc": "温柔细腻的音色",
    "audio_url": "https://bj.bcebos.com/example.wav",
    "text_id": "text_5692181d-8825-40ec-b80f-87b79e3a9345"
}'
  • 通过音频-base64 编码创建音色
curl --silent --location --request POST 'https://aip.baidubce.com/rest/2.0/speech/publiccloudspeech/v1/voice/clone/create?access_token=XXX' \
--header 'Content-Type: application/json' \
--data '{
    "voice_name": "example",
    "voice_desc": "温柔细腻的音色",
    "audio_file": "音频 Base64 编码",
    "text_id": "text_5692181d-8825-40ec-b80f-87b79e3a9345"
}'

大模型声音复刻的音色创建说明:

1、音色创建分为指定文本和自定义文本训练。若用户希望使用自定义文本的音频进行音色创建,无需调用“获取训练文本”接口直接调用“创建音色”接口,且无需填写音频文本ID,其他参数保持不变。

2、通过以上接口创建的音色,若在1年内没有调用合成记录,该音色将被删除,后续将无法使用。

大模型声音复刻和迁移能力说明:

大模型声音复刻分为复刻和迁移两种能力。复刻指保留声音语种/方言等特征的能力,迁移指保持音色特征的同时增加语种/方言等特征的能力。例如:

  • 创建音色时输入普通话,合成普通话=复刻
  • 创建音色时输入河南话,合成河南话=复刻
  • 创建音色时输入普通话,合成河南话=迁移

目前支持河南话、上海话、四川话三种方言的复刻及迁移。为确保方言复刻迁移效果,建议您使用普通话或对应方言进行音色创建。

音色管理

音色列表查询

接口描述

接口描述:获取用户已经创建的音色列表

接口名称:https://aip.baidubce.com/rest/2.0/speech/publiccloudspeech/v1/voice/clone/list

请求方法:POST

输入参数

属性 参数名称 类型 是否必填 说明
页码 page int 选填 列表页面:page>=1

输出参数

属性 参数名称 类型 说明
错误状态 status int 0代表成功,其他为异常
错误信息 message string
数据 data object 音色列表信息

data响应参数

属性 参数名称 类型 说明
总数 total int
页码 page int
每页数量 page_size int
音色列表 items object [ ]

items响应参数

属性 参数名称 类型 说明
音色 ID voice_id int 训练后的音色 ID
音色名称 voice_name string 音色名称
音色描述 voice_desc string 音色说明
创建时间 create_time string 创建时间,Unix 时间戳
状态 status int 恒等于 0

示例

curl --silent --location --request POST 'https://aip.baidubce.com/rest/2.0/speech/publiccloudspeech/v1/voice/clone/list?access_token=XXX' \
--data '{
    "page": 1
}'

音色详情查询

接口描述

接口描述:根据音色ID查询音色的详情信息

接口名称:https://aip.baidubce.com/rest/2.0/speech/publiccloudspeech/v1/voice/clone/detail

请求方法:POST

输入参数

属性 参数名称 类型 是否必填 说明
音色ID voice_id int 必填

输出参数

属性 参数名称 类型 说明
错误状态 status int 0代表成功,其他为异常
错误信息 message string
数据 data object 音色详情信息

data响应参数

属性 参数名称 类型 说明
音色 ID voice_id int 训练后的音色 ID
音色名称 voice_name string 音色名称
音色描述 voice_desc string 音色说明
音色状态 status int 恒等于 0
创建时间 create_time string 创建时间

示例

curl --silent --location --request POST 'https://aip.baidubce.com/rest/2.0/speech/publiccloudspeech/v1/voice/clone/detail?access_token=XXX' \
--header 'Content-Type: application/json' \
--data '{
    "voice_id": 1063622
}'

删除音色

接口描述

接口描述:对已经创建的音色进行删除

接口名称:https://aip.baidubce.com/rest/2.0/speech/publiccloudspeech/v1/voice/clone/delete

请求方法:POST

输入参数

属性 参数名称 类型 是否必填 说明
音色ID voice_id int 必填

输出参数

通过返回的status判断是否成功,如失败则查看message获得具体错误信息

属性 参数名称 类型 说明
错误状态 status int 0 删除成功,1 删除异常
错误信息 message

示例

curl --silent --location --request POST 'https://aip.baidubce.com/rest/2.0/speech/publiccloudspeech/v1/voice/clone/delete?access_token=XXX' \
--header 'Content-Type: application/json' \
--data '{
    "voice_id": 1063622
}'

语音合成

流式在线合成(Websocket)

接口描述

接口描述:音色创建成功后,通过创建得到的音色ID进行文本的合成

接口名称:wss://aip.baidubce.com/ws/2.0/speech/publiccloudspeech/v1/voice/clone/tts

建立连接

请求路径:/ws/2.0/speech/publiccloudspeech/v1/voice/clone/tts

参数名
类型 参数位置 是否必填 说明
access_token string query 必填 鉴权令牌
Authorization string header 鉴权API Key
voice_id int query 必填 音色ID
idle_timeout int query 可选 空闲超时时间,单位秒,默认值60,范围[5, 600]

相关状态码

状态码 状态信息 错误码 错误消息 说明
400 Bad Request 216100 Invalid 'foo' value: bar. 参数错误
400 Bad Request 216100 Invalid 'foo' value: bar, range: [min, max]. 参数错误
400 Bad Request 216101 Missing required parameter: 'foo'. 参数缺失
400 Bad Request 400 websocket: the client is not using the websocket protocol: ... WebSocket协议错误
401 Unauthorized 216100 Invalid access_token parameter. access_token参数格式不正确
401 Unauthorized 216100 Invalid Authorization header. Authorization请求头格式不正确
401 Unauthorized 216101 Missing access_token parameter or Authorization header. 缺少鉴权参数
401 Unauthorized 110 Access token invalid or no longer valid access_token 校验不通过。
401 Unauthorized 111 Access token expired access_token 过期,建议更新获取Access token 重新请求。
401 Unauthorized 217 IAM auth error API Key校验不通过
403 Forbidden 6 No permission to access data appid没有相应接口权限,可以检查console页面app管理中勾选的AI能力情况。
404 Not Found 输入的url错误
429 Too Many Requests 15 Open api concurrency limit reached 触发并发限流
429 Too Many Requests 17 Open api usage limit reached 无剩余可用额度
400 Bad Request 216404 Voice id not exists. voice_id不存在
500 Internal Server Error 282000 Internal error. 服务器内部错误
400 Bad Request 282101 The voice_id service has not been started. 服务未启动
400 Bad Request 216403 Not allowed to use this voice. 对该voice_id无权限

初始化

参数名称 类型 是否必填 说明
type string 必填 开始帧的类型,固定值 system.start
payload object 可选 合成参数,详见下表

payload字段说明

参数名称 类型 是否必填 说明
lang string 可选 待合成的文本语言,中英文:zh,默认为zh
media_type string 可选 音频格式,支持wav、mp3、pcm,默认值为wav
若希望使用postman测试流式合成效果,建议使用mp3格式
pitch int 可选 音调,取值 0-15,默认为 5
volume int 可选 音量,基础音库取值0-9,其他音库取值 0-15,默认为 5
speed int 可选 语速,取值 0-15,默认为 5
dialect string 可选 方言,取值wuu-CN-shanghai 上海;zh-CN-henan 河南;zh-CN-sichuan 四川
spd(兼容字段) int 可选 语速,取值 0-15,默认为 5
pit(兼容字段) int 可选 音调,取值 0-15,默认为 5
vol(兼容字段) int 可选 音量,基础音库取值0-9,其他音库取值 0-15,默认为 5
aue(兼容字段) int 可选 音频格式,3=mp3-16k/24k,4=pcm-16k/24k,5=pcm-8k,6=wav-16k/24k,和media_type参数不可同时设置
{
    "type": "system.start",
    "payload": {
        "lang": "zh",
        "media_type": "mp3",
        "pitch": 5,
        "volume": 5,
        "speed": 5,
        "dialect":"zh-CN-henan"
    }
}

正常响应

{
  "type": "system.started",
  "code": 0,
  "message": "success",
  "headers": {
    "session_id": "57944e1a-470f-4c30-9cf6-36e0aa645e58"
  }
}

异常响应

type code message 说明
system.started 216100 Invalid system.start payload. 参数错误
system.started 216100 Invalid 'foo' value: bar. 参数错误
system.started 216100 Invalid 'foo' value: bar, range: [min, max]. 参数错误

发送文本

{
    "type": "text",
    "payload": {
        "text": "需要进行语音合成的文字"
    }
}
type code message 说明
system.error 216100 Invalid text payload. 参数错误
system.error 216101 Missing required parameter: 'text'. 缺少text参数
system.error 216103 Text exceeded 1000 characters limit. 单次文本不能超过1000字
system.error 216429 The current pending text is too long to be processed. 发送频率过快,待处理文本过长

备注:

  1. 客户端发送的文本信息无内容时,返回system.error,code=216101,message=Missing required parameter: 'text'.

结束合成

客户端请求

参数名称 类型 是否必填 说明
type string 必填 结束帧的类型,固定值 system.finish
{
    "type":"system.finish",
}

正常响应

{
  "type": "system.finished",
  "code": 0,
  "message": "success",
  "headers": {
    "session_id": "58b18cef-c588-4f04-a4a4-4a2977072e58"
  }
}

服务端主动发送

type code message 说明
system.error 216604 Open api usage limit reached 额度已用完,无剩余可用额度

非流式在线合成(HTTP)

接口描述

接口描述:音色创建成功后,通过创建得到的音色ID进行文本的合成

接口名称:https://aip.baidubce.com/rest/2.0/speech/publiccloudspeech/v1/voice/clone/tts

请求方法:POST(Content-Type: application/json)

输入参数

属性
参数名称 类型 是否必填 说明
音色ID voice_id int 必填 训练后的音色 ID
合成文本 text string 必填 总字数不超过500个字符,1个中文字、英文字母、数字或符号均算作1个字符
合成语言 lang string 可选 待合成的文本语言,中英文:zh,默认为zh
合成方言 dialect string 可选 待合成的方言类型,支持以下方言:
上海话:wuu-CN-shanghai;
河南话:zh-CN-henan;
四川话:zh-CN-sichuan
输出格式 media_type string 可选 输出文件格式,支持wav、mp3,默认值为wav
音调 pitch int 可选 音调,取值范围[0, 15],默认为5
音量 volume int 可选 音量,取值范围[0, 15],默认为5
语速 speed int 可选 语速,取值范围[0, 15],默认为5

输出参数

需要根据 Content-Type的头部来确定是否服务端合成成功。 如果合成成功,返回的Content-Type以“audio”开头

  • media_type=wav ,返回为二进制wav文件,具体header信息 Content-Type: audio/wav
  • media_type=mp3 ,返回为二进制mp3文件,具体header信息 Content-Type: audio/mp3

如果合成出现错误,则会返回json文本,具体header信息为:Content-Type: application/json

属性 参数名称 参数类型 描述
错误状态 status int 0代表成功,其他为异常
错误信息 message string 错误消息

示例

curl --location --request POST 'https://aip.baidubce.com/rest/2.0/speech/publiccloudspeech/v1/voice/clone/tts?access_token=xxxx' \
{
    "text": "当春风拂过,大地渐渐回暖,万物复苏的季节到来了。花儿在这个时候竞相开放,桃花、樱花、杏花,还有那细雨中的紫藤,都以最绚烂的姿态展示自己的美丽。",
    "voice_id": 100001
}

注意事项

由于服务变化,在线合成不再支持兼容已有合成接口,如需使用请调用上文websocket接口与http接口或者提交工单

大模型声音复刻返回码汇总

返回码
提示信息 备注说明
0 success 处理成功
10012 voice id not exists or status incorrect 当前的 voice_id 不存在,请检查 voice_id 是否正确
10014 user concurrency limit exceeded 用户的并发超限,如有高并发需求,请先提交合作咨询,或者提交工单
10015 user usage limit reached 用户的配额超限,如有高额度需求,请先提交合作咨询,或者提交工单
10020 temporary service err, please try again 服务临时错误,请稍候再试
10021 voiceprint detection failed 未检测到有效音频,请根据返回text 进行朗读
10022 text id not exists or text id already expire text_id 不存在或者 text_id 已经超过 24 小时
10023 download failed or audio file size exceeded limit 下载失败或者上传文件超过 5M
10024 audio file transfer failed 音频格式转换失败,请更换音频
10025 the data has been deleted or does not have permission 该音色不存在,或者该音色已经被开发者删除
10026 invalid audio content 文件格式已损坏或音频内容无效
10027 voiceprint detection failed 音频可能涉及敏感人物,请重新上传音频或尝试指定文本复刻
11002 限流无额度 用户的配额超限,如有高额度需求,请先提交合作咨询,或者提交工单
11003 限流并发超限 用户的并发超限,如有高并发需求,请先提交合作咨询,或者提交工单
11004 text exceeded the limit 文本超长,请缩短文本重试
11006 No access permission for this voice_id voice_id 错误,请检查 voice_id 是否正确
11007 token information or iam information must exist 未传递有效的鉴权信息,请正确输入 access_token 鉴权信息或者 Iam鉴权信息
11008 temporary service err, please try again 服务临时异常,请稍候重试
11009 required parameters are missing 参数缺失,请检查输入参数
11010 parameters are invalid 参数无效,请检查输入参数
11011 voice_id not exists 该 voice_id不存在
11012 invalid page parameter, must be at least 1 page 参数必须大于等于 1
11013 invalid base64-encoded audio content 无效的音频内容,非有效的 base64编码
11014 this token/iam information invalid or has no access data permission 该用户没有访问该数据的权限
11015 the text contains memorable vocabulary 文本包含敏感信息,请去掉敏感信息后重试
12001 the audio file is too short 音频内容太短,请更换音频
12000 download file failed 文件下载失败,请检查音频下载链接
12002 wer check failed 未检测到有效音频,请根据返回text 进行朗读
12003 audio detect snr failed 未检测到有效音频,请根据返回text 进行朗读
12004 recognition failed 无有效的人声,请更换音频
12005 detect audio level failed 无有效的人声,请更换音频
12006 detect audio speed failed 无有效的人声,请更换音频
12007 qualiry failed 音频质量太差,请更换音频
上一篇
购买指南
下一篇
端到端语音语言大模型