声音设计(Voice Design)无需音频样本,仅通过自然语言描述即可创建定制化音色。例如,输入“温柔的年轻女性,语速中等,适合有声书朗读”,系统即可生成符合描述的音色。
概述
声音设计无需音频样本,仅通过自然语言描述即可创建定制化音色。适用于快速原型验证、创意内容生产、游戏角色配音等场景。
百炼平台提供以下模型系列的声音设计能力:
CosyVoice:通过 HTTP API 创建音色,支持实时与非实时语音合成,可用于北京和新加坡地域。
Qwen-TTS:通过 HTTP API 创建音色,支持实时与非实时语音合成,可用于北京和新加坡地域。
前提条件
已配置 API Key并将其设置到环境变量。
如果通过 DashScope SDK 调用,需要安装最新版SDK。
快速开始
声音设计的基本流程为:描述 → 创建 → 使用。
编写声音描述:用自然语言描述期望的声音特质。详细的编写指南请参见编写声音描述。
创建音色:调用声音设计接口,系统根据描述生成音色并返回预览音频。建议试听确认效果后再使用。
使用音色合成语音:调用语音合成接口,传入音色 ID 进行语音合成。
Qwen-TTS 声音设计
以下示例演示完整的声音设计流程:创建音色、试听预览音频,然后使用该音色合成语音。
声音设计服务会返回预览音频。建议先试听预览音频,确认效果符合预期后再用于语音合成,以降低调用成本。
Python
import os
import requests
import dashscope
# ======= 常量配置 =======
DEFAULT_TARGET_MODEL = "qwen3-tts-vd-2026-01-26" # 声音设计、语音合成要使用相同的模型
DEFAULT_PREFERRED_NAME = "custom_voice"
# 声音描述:用自然语言描述期望的声音特质
VOICE_PROMPT = "年轻活泼的女性声音,语速较快,带有明显的上扬语调,适合介绍时尚产品。"
def create_voice_by_design(voice_prompt: str,
target_model: str = DEFAULT_TARGET_MODEL,
preferred_name: str = DEFAULT_PREFERRED_NAME) -> str:
"""
通过声音描述创建音色,并返回 voice 参数
"""
# 新加坡和北京地域的API Key不同。获取API Key:https://help.aliyun.com/zh/model-studio/get-api-key
# 若没有配置环境变量,请用百炼API Key将下行替换为:api_key = "sk-xxx"
api_key = os.getenv("DASHSCOPE_API_KEY")
# 以下为北京地域url,若使用新加坡地域的模型,需将url替换为:https://dashscope-intl.aliyuncs.com/api/v1/services/audio/tts/customization
url = "https://dashscope.aliyuncs.com/api/v1/services/audio/tts/customization"
payload = {
"model": "qwen-voice-enrollment", # 不要修改该值
"input": {
"action": "create",
"target_model": target_model,
"preferred_name": preferred_name,
"voice_prompt": voice_prompt
}
}
headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
}
resp = requests.post(url, json=payload, headers=headers)
if resp.status_code != 200:
raise RuntimeError(f"创建 voice 失败: {resp.status_code}, {resp.text}")
result = resp.json()
# 返回预览音频(可选:先试听确认效果)
preview_audio = result.get("output", {}).get("preview_audio")
if preview_audio:
print(f"预览音频URL: {preview_audio}")
try:
return result["output"]["voice"]
except (KeyError, ValueError) as e:
raise RuntimeError(f"解析 voice 响应失败: {e}")
if __name__ == '__main__':
# 以下为北京地域url,若使用新加坡地域的模型,需将url替换为:https://dashscope-intl.aliyuncs.com/api/v1
dashscope.base_http_api_url = 'https://dashscope.aliyuncs.com/api/v1'
voice_id = create_voice_by_design(VOICE_PROMPT)
print(f"创建的音色ID: {voice_id}")
text = "大家好,欢迎来到我们的直播间!今天给大家推荐的这款产品真的超级好用。"
response = dashscope.MultiModalConversation.call(
model=DEFAULT_TARGET_MODEL,
# 新加坡和北京地域的API Key不同。获取API Key:https://help.aliyun.com/zh/model-studio/get-api-key
# 若没有配置环境变量,请用百炼API Key将下行替换为:api_key = "sk-xxx"
api_key=os.getenv("DASHSCOPE_API_KEY"),
text=text,
voice=voice_id,
stream=False
)
print(response)cURL
步骤一:通过声音描述创建音色
# 以下为北京地域url,若使用新加坡地域的模型,需将url替换为:https://dashscope-intl.aliyuncs.com/api/v1/services/audio/tts/customization
# 新加坡和北京地域的API Key不同。获取API Key:https://help.aliyun.com/zh/model-studio/get-api-key
curl -X POST 'https://dashscope.aliyuncs.com/api/v1/services/audio/tts/customization' \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "qwen-voice-enrollment",
"input": {
"action": "create",
"target_model": "qwen3-tts-vd-2026-01-26",
"preferred_name": "custom_voice",
"voice_prompt": "年轻活泼的女性声音,语速较快,带有明显的上扬语调,适合介绍时尚产品。"
}
}'步骤二:使用设计音色合成语音
将上一步返回的voice值填入以下请求中。
# 将 YOUR_VOICE_ID 替换为上一步返回的 voice 值
# 以下为北京地域url,若使用新加坡地域的模型,需将url替换为:https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
curl -X POST 'https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "qwen3-tts-vd-2026-01-26",
"input": {
"text": "大家好,欢迎来到我们的直播间!今天给大家推荐的这款产品真的超级好用。",
"voice": "YOUR_VOICE_ID"
}
}'CosyVoice 声音设计
CosyVoice 同样支持通过文本描述创建音色,使用流程与 Qwen-TTS 类似。
CosyVoice 声音设计仅支持北京地域(v3.5 系列)和新加坡地域(v3 系列)。
步骤一:通过声音描述创建音色
调用声音复刻/设计 API,通过voice_prompt参数传入声音描述,preview_text参数指定预览音频朗读的文本。
# 以下为北京地域 URL
# 获取 API Key:https://help.aliyun.com/zh/model-studio/get-api-key
curl -X POST https://dashscope.aliyuncs.com/api/v1/services/audio/tts/customization \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "voice-enrollment",
"input": {
"action": "create_voice",
"target_model": "cosyvoice-v3.5-plus",
"voice_prompt": "沉稳的中年男性播音员,音色低沉浑厚,富有磁性,语速平稳,吐字清晰,适合用于新闻播报或纪录片解说。",
"preview_text": "各位听众朋友,大家好,欢迎收听晚间新闻。",
"prefix": "announcer",
"language_hints": ["zh"]
},
"parameters": {
"sample_rate": 24000,
"response_format": "wav"
}
}'步骤二:使用设计音色合成语音
将上一步返回的voice值填入以下请求中。
# 将 YOUR_VOICE_ID 替换为上一步返回的 voice 值
# 以下为北京地域 URL
curl -X POST https://dashscope.aliyuncs.com/api/v1/services/audio/tts/SpeechSynthesizer \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "cosyvoice-v3.5-plus",
"input": {
"text": "各位听众朋友,大家好,欢迎收听晚间新闻。",
"voice": "YOUR_VOICE_ID",
"format": "wav",
"sample_rate": 24000
}
}'编写声音描述
声音描述(voice_prompt)直接决定生成音色的效果。清晰、具体的描述能帮助模型更准确地生成目标音色。
要求与限制
长度限制:
voice_prompt的最大长度因模型而异:CosyVoice 不超过 500 个字符,Qwen-TTS 不超过 2048 个字符。支持语言:描述文本仅支持中文和英文。
核心原则
具体而非模糊:使用描绘声音特质的词语,如"低沉""清脆""语速偏快",避免"好听""普通"等主观或模糊的表述。
多维而非单一:好的描述通常涵盖多个维度(如性别、年龄、情感等)。仅写"女声"过于宽泛,难以生成有特色的音色。
客观而非主观:聚焦声音的物理和感知特征。例如,用"音调偏高,带有活力"代替"我最喜欢的声音"。
原创而非模仿:描述声音的特质,而非要求模仿特定人物(如名人、演员)。模型不支持模仿,且可能涉及版权风险。
简洁而非冗余:确保每个词都有明确作用,避免重复的同义词或无意义的修饰。
描述维度参考
建议组合以下维度来描述声音,维度越丰富,生成效果越精准。
维度 | 描述示例 |
性别 | 男性、女性、中性 |
年龄 | 儿童 (5-12 岁)、青少年 (13-18 岁)、青年 (19-35 岁)、中年 (36-55 岁)、老年 (55 岁以上) |
音调 | 高音、中音、低音、偏高、偏低 |
语速 | 快速、中速、缓慢、偏快、偏慢 |
情感 | 开朗、沉稳、温柔、严肃、活泼、冷静、治愈 |
特点 | 有磁性、清脆、沙哑、圆润、甜美、浑厚、有力 |
用途 | 新闻播报、广告配音、有声书、动画角色、语音助手、纪录片解说 |
示例
标准播音风格:吐字清晰精准,字正腔圆
年轻活泼的女性声音,语速较快,带有明显的上扬语调,适合介绍时尚产品
沉稳的中年男性,语速缓慢,音色低沉有磁性,适合朗读新闻或纪录片解说
温柔知性的女性,30 岁左右,语调平和,适合有声书朗读
可爱的儿童声音,大约 8 岁女孩,说话略带稚气,适合动画角色配音
管理自定义音色
声音设计和声音复刻创建的音色共用同一套管理接口。您可以查询音色列表、查看音色详情或删除不再需要的音色。
API 接口和参数详情请参见API 参考。
适用范围
不同服务部署范围支持的模型不同:
中国内地
服务部署范围为中国内地时,模型推理计算资源仅限于中国内地;静态数据存储于您所选的地域。该部署范围支持的地域:华北2(北京)。
调用以下模型时,请选择北京地域的API Key:
CosyVoice:cosyvoice-v3.5-plus、cosyvoice-v3.5-flash、cosyvoice-v3-plus、cosyvoice-v3-flash
Qwen-TTS:
千问3-TTS-VD-Realtime:qwen3-tts-vd-realtime-2026-01-15(最新快照版)、qwen3-tts-vd-realtime-2025-12-16(快照版)
千问3-TTS-VD:qwen3-tts-vd-2026-01-26(最新快照版)
国际
服务部署范围为国际时,模型推理计算资源在全球范围内动态调度(不含中国内地);静态数据存储于您所选的地域。该部署范围支持的地域:新加坡。
调用以下模型时,请选择新加坡地域的API Key:
CosyVoice:cosyvoice-v3-plus、cosyvoice-v3-flash
Qwen-TTS:
千问3-TTS-VD-Realtime:qwen3-tts-vd-realtime-2026-01-15(最新快照版)、qwen3-tts-vd-realtime-2025-12-16(快照版)
千问3-TTS-VD:qwen3-tts-vd-2026-01-26(最新快照版)
CosyVoice 声音设计基于 FunAudioGen-VD 模型能力。
相同描述文本(Prompt)设计的音色可能存在差异,建议多次生成后择优使用。
API 参考
常见问题
Q:相同的声音描述每次生成的音色一样吗?
不一定。声音设计具有随机性,相同描述可能生成略有差异的音色。建议多次生成后试听,择优使用。
Q:声音描述可以使用哪些语言?
目前声音描述(voice_prompt)仅支持中文和英文,但生成的音色可用于合成多种语言的语音。
Q:声音设计和声音复刻有什么区别?
声音设计通过文本描述从零创建音色,无需音频样本,适合设计全新的声音形象。声音复刻基于真实音频样本复制音色,适合还原特定人物的声音。详情请参见声音复刻。