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

大模型声音复刻

接口描述

百度大模型声音复刻是使用全新自研语音大模型算法打造的轻量级音色定制方案。用户只需录制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 在线合成 https://aip.baidubce.com/rest/2.0/speech/publiccloudspeech/v1/voice/clone/tts
  • 交互流程 大模型声音复刻 (2).png

获取训练文本

接口描述

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

接口名称: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
文本内容 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年内没有调用合成记录,该音色将被删除,后续将无法使用。

音色列表查询

接口描述

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

接口名称: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
}'

在线合成

接口描述

接口描述:音色创建成功后,通过创建得到的音色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
输出格式 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
}

在线合成(兼容已有合成接口)

接口描述

接口描述:兼顾到部分用户已经使用了短文本在线合成服务,因此为了兼容已有能力,大模型声音复刻的音色在创建成功后,也可以通过短文本合成接口进行复刻文本的合成,详情见在线合成

接口名称:https://aip.baidubce.com/rest/2.0/speech/publiccloudspeech/v1/voice/clone/tts (与标准json接口使用同一路径)

请求方法:

  • POST(Content-Type: application/x-www-form-urlencoded)
  • POST(Content-Type: multipart/form-data)
  • GET(参数放在query里)

输入参数

属性
参数名称 类型 是否必填 说明
鉴权token tok string 必填 开放平台获取到的开发者[access_token]获取 Access Token "access_token")
合成文本 tex string 必须 总字数不超过500个字符,1个中文字、英文字母、数字或符号均算作1个字符
合成语言 lan string 可选 待合成的文本语言,中英文:zh,默认为zh
音色ID per int 必填
用户唯一标识 cuid string 可选 用来计算UV值。建议填写能区分用户的机器 MAC 地址或 IMEI 码,长度为60字符以内
整包/分包 ctp int 可选 填写固定值1,默认为1
语速 spd int 可选 音调,取值范围[0, 15],默认为5
音调 pit int 可选 音量,取值范围[0, 15],默认为5
音量 vol int 可选 语速,取值范围[0, 15],默认为5
请求唯一标识 sn string 可选 请求唯一标识,关联上下游服务,不填写服务自动生成
音频格式 aue int 可选 输出文件格式,3: mp3(默认)、6: wav

http协议tex字段需要额外进行2次urlencode

http协议tex字段需要额外进行2次urlencode 由于urlencode有两个标准 RFC 1738和RFC 3986. 百度为了更好地兼容,支持1次及2次urlencode, 其中2次urlencode可以覆盖全部的特殊字符。因而推荐传递tex 参数时做2次urlencode编码。

测试用例:“1+1=2”。 一次urlencode时,“+”可能会没有合成。

输出参数

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

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

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

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

示例

curl --location 'https://aip.baidubce.com/rest/2.0/speech/publiccloudspeech/v1/voice/clone/tts' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'tok=xxx' \
--data-urlencode 'tex=当春风拂过,大地渐渐回暖,万物复苏的季节到来了。花儿在这个时候竞相开放,桃花、樱花、杏花,还有那细雨中的紫藤,都以最绚烂的姿态展示自己的美丽。' \
--data-urlencode 'per=100001'

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

返回码
提示信息 备注说明
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 该音色不存在,或者该音色已经被开发者删除
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 音频质量太差,请更换音频
上一篇
购买指南
下一篇
语音合成