数据来源:阿里云官方 声音设计文档, 用户下载到
tts音色/声音设计-...html后 playwright 渲染抽取。 文档生成时间:2026-07。
声音设计(Voice Design) 是阿里云百炼提供的一条合成新音色的路径,无需训练数据,纯文本描述即可生成音色。
适用场景:
和声音复刻的区别: | 维度 | 声音设计 | 声音复刻 | |------|---------|----------| | 输入 | 自然语言描述 | 真实音频样本 | | 是否需要录音 | ❌ 不需要 | ✅ 需要 | | 适合 | 创造新声音形象 | 还原特定人声 | | 自由度 | 由 Prompt 决定(可多次尝试) | 固定基于样本 |
cosyvoice-v3.5-plus(北京)cosyvoice-v3.5-flash(北京)cosyvoice-v3-plus(北京)cosyvoice-v3-flash(北京)⚠️ CosyVoice 声音设计仅支持北京地域,其他地域不可用。
qwen3-tts-vd-2026-01-26(北京 — 最新快照)qwen3-tts-vd-realtime-2026-01-15(北京 + 新加坡)qwen3-tts-vd-realtime-2025-12-16(快照版)声音描述长度上限:2048 字符(Qwen-TTS)。
| 维度 | 可选值 |
|---|---|
| 性别 | 男性 / 女性 / 中性 |
| 年龄 | 儿童(5-12) / 青少年(13-18) / 青年(19-35) / 中年(36-55) / 老年(55+) |
| 音调 | 高音 / 中音 / 低音 / 偏高 / 偏低 |
| 语速 | 快速 / 中速 / 缓慢 / 偏快 / 偏慢 |
| 情感 | 开朗 / 沉稳 / 温柔 / 严肃 / 活泼 / 冷静 / 治愈 |
| 特点 | 有磁性 / 清脆 / 沙哑 / 圆润 / 甜美 / 浑厚 / 有力 |
| 用途 | 新闻播报 / 广告配音 / 有声书 / 动画角色 / 语音助手 / 纪录片 |
✅ 标准播音风格:吐字清晰精准,字正腔圆
✅ 年轻活泼女性:语速较快,带有明显的上扬语调,适合介绍时尚产品
✅ 沉稳中年男性:语速缓慢,音色低沉有磁性,适合朗读新闻或纪录片解说
✅ 温柔知性女性:30 岁左右,语调平和,适合有声书朗读
✅ 可爱儿童:大约 8 岁女孩,说话略带稚气,适合动画角色配音
阿里云官方原话:"声音设计具有随机性,相同描述可能生成略有差异的音色。建议多次生成后试听,择优使用。"
→ 产品设计建议:让用户预览 + 重生成至少 2-3 次,挑最好的保存。
curl -X POST 'https://{WorkspaceId}.cn-beijing.maas.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"
},
"parameters": {
"sample_rate": 24000,
"response_format": "wav"
}
}'
返回:
{
"output": {
"voice_id": "voice_announcer_xxxxxx",
"preview_audio_url": "https://...mp3"
}
}
import dashscope, os
from dashscope.audio.tts_v2 import SpeechSynthesizer
dashscope.api_key = os.environ['DASHSCOPE_API_KEY']
dashscope.base_websocket_api_url = 'wss://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api-ws/v1/inference'
# 关键:声音设计、语音合成要使用相同的模型
synthesizer = SpeechSynthesizer(
model='cosyvoice-v3.5-plus', # ← 同一个模型
voice='voice_announcer_xxxxxx', # ← 步骤1返回的 voice_id
)
audio = synthesizer.call("今天天气怎么样?")
with open('output.mp3', 'wb') as f:
f.write(audio)
import dashscope, os
from dashscope.audio.tts_v2 import SpeechSynthesizer
VOICE_PROMPT = "年轻活泼的女性声音,语速较快,带有明显的上扬语调,适合介绍时尚产品。"
TARGET_MODEL = "qwen3-tts-vd-2026-01-26" # 声音设计 / 合成 必须用同一个
# 创建音色
from dashscope.audio.tts_v2 import VoiceEnrollment
resp = VoiceEnrollment.create_voice(
target_model=TARGET_MODEL,
voice_prompt=VOICE_PROMPT,
preferred_name='my_voice',
)
voice_id = resp.output.voice_id
# 用新音色合成
synth = SpeechSynthesizer(model=TARGET_MODEL, voice=voice_id)
audio = synth.call("你好,世界")
| 模型 | 创建费用 |
|---|---|
| CosyVoice | ✅ 免费 |
| Qwen-TTS | 0.2 元/个(创建失败不收费) |
音色选择 (UI)
├── 系统音色(开箱即用)
│ ├── CosyVoice v3-flash 系统音色(88 个)
│ ├── Qwen3-TTS 系统音色(48 个)
│ └── Edge TTS 系统音色(316 个)
└── 自定义音色(声音设计创建)
├── 我设计过(列表显示)
└── 现在设计一个
server/src/services/voice-design.service.ts(声音设计 API 封装)server/.env 里的 DASHSCOPE_API_KEY(API Key 已配好)POST /api/tts/voice-design/preview(创建 + 预览,不保存)POST /api/tts/voice-design/save(保存到账户)GET /api/tts/voice-design/list(查已有自定义音色)DELETE /api/tts/voice-design/:voice_id(删除)target_model = voice_id 创建时的模型(否则音色不匹配)/preview 接口拿预览音频播放/save 接口Book.book.voiceId(已存在的字段,扩展支持用户自定义音色 ID)voice_prompt 字段)cosyvoice-voice-list 系统音色的本质区别| 维度 | 系统音色(voice-list) |
声音设计(voice-design) |
|---|---|---|
| 来源 | 阿里云预训练 | 用户文本描述实时生成 |
| 数量 | 216 个(CosyVoice)/ 48 个(Qwen) | 上限 1000 个/账号 |
| 稳定性 | 确定性,固定可重现 | 有随机性,需试听择优 |
| 成本 | 0 | CosyVoice 免费 / Qwen-TTS 0.2 元 |
| 速度 | 立即可用 | 1-5 秒生成预览 |
| 后端代码 | ALIYUN_VOICE_MAP 直接列名字 |
需要 API 调用 + 用户保存 |
实现完整"声音设计"功能的预估工作量:
voice-design.service.ts 封装阿里云 APIpickTtsVendor() 路由)完整的功能开发建议在"用户选语言"功能稳定后再做(用户反映"想要更多音色")时启动。