*本文章结果音频均由qwen-voice-design/qwen3-tts-vd-realtime生成
🌟 模型亮点速览
通义千问 voice-design 模型是千问语音模型的声音设计系列模型,发布于 2025-12-16。仅需输入简单的文字描述,即可迅速设计出符合要求的定制化音色,适用于广告配音、角色塑造、有声内容创作、多语言翻译出海 等多种应用。
结合 qwen3-tts-vd-realtime 模型使用,可设计输出11个语种的语音。
🎙 定制音色展示
① 广告配音
音色创建 Prompt |
效果 |
25-30岁活力女声,高音域(230-250Hz),快速语速(150字/分钟)。舌尖音突出,句尾上扬15%增强感染力,'免费'、'限时'等关键词加入0.2秒破音效果。适用于零食、饮料等快消品促销广告。 |
demo:走过路过不要错过!今日限时特惠,牛脆脆第二桶免费!三!二!一!上链接!进入直播间的宝宝们快戳链接下单,手慢无! |
40-45岁沉稳男声,低音域(100-120Hz),中速语速(110字/分钟)。胸腔共鸣丰富,句间停顿0.6秒增强专业感,'安全'、'收益'等关键词加重15%音量。适用于银行理财、保险等金融产品广告。 |
demo:稳健理财,安心之选。年化收益4.8%,本金保障,专业团队全程护航。点击了解,让财富稳步增长。 |
30-35岁中性男声,中高音域,精准语速(130字/分钟)。声音有磁性、可信赖,适用于手机、AI设备等科技产品广告。 |
demo:全新智能手表,24小时健康监测,AI语音助手随叫随到。科技,让生活更简单。 |
② 角色 IP 塑造
音色创建 Prompt |
效果 |
18-22岁少女声线,超高音域,轻快偏快语速(140字/分钟)。气声明显,句尾上扬25%增加可爱度,'最喜欢'、'超开心'等情感词加入0.3秒笑声采样。适用于虚拟主播、元宇宙偶像角色塑造。 |
demo:大家好呀~今天也是元气满满的一天呢!感谢小可爱们的应援,爱你们!比心~ |
35-40岁沧桑男声,中低音域,缓慢语速(90字/分钟)。喉音厚重,句间加入0.5秒呼吸间隙,'使命'、'荣耀'等关键词降低10%音调增强威严感。适用于武侠/奇幻类游戏角色配音。 |
demo:年轻的旅人,你手中的剑...散发着不寻常的力量。告诉我,你为何踏上这条道路? |
50-55岁亲切女声,中音域,生动语速(115字/分钟)。粤语市井词汇'靓仔'、'多謝'发音自然,声调变化丰富(4-7声转换),'饮茶'、'点心'等词加重强调。适用于粤港澳文化IP、市井生活角色塑造。 |
demo:靚仔,今日飲咩茶啊?我哋新到嘅凍檸茶,冰爽到入心入肺㗎!快啲坐低,今日嘅蝦餃王特別新鮮,遲啲就賣晒啦! |
③ 有声内容创作
音色创建 Prompt |
效果 |
30-35岁知性女声,中高音域,舒缓语速(100字/分钟)。带有适度气声,情感高潮部分音调上扬20%,悲伤段落加入0.2秒气息停顿。适用于情感故事、心灵成长类有声内容。 |
demo:那天下着小雨,她站在车站等了整整两小时。手中的信被雨水打湿,字迹模糊,就像她此刻的心情... |
35-40岁专业男声,中音域,精准语速(125字/分钟)。发音如字典标准,数据部分语速降低20%增强清晰度,'关键'、'重点'等词加重胸腔共鸣。无背景音,仅句间0.3秒停顿,适用于财经课程、商业分析类有声内容 |
demo:2025年Q2财报显示,科技板块增长18.7%,其中AI相关企业贡献率达63%。接下来,我将详细解析三大投资机会。 |
26-30岁温暖女声,偏高音域,生动语速(110字/分钟)。拟声词夸张处理,互动提问时语调上扬30%,'小朋友们'等称呼加入0.2秒笑声。适用于儿童有声书、睡前故事内容。 |
demo:小兔子蹦蹦跳跳来到河边,哗啦啦,河水唱着歌!小朋友们,猜猜它遇到了谁呢? |
④ 多语言出海
音色创建 Prompt |
效果 |
30-35岁巴黎女性声线,优雅从容,鼻腔共鸣适中,语速偏快。R音轻柔不粗糙,元音饱满。在数字和专业术语时保持绝对清晰度。 |
demo:Mes chers collègues, le chiffre d'affaires de ce trimestre a augmenté de 23,5%, dépassant nos objectifs. Nous allons maintenant nous concentrer sur le déploiement stratégique du marché Asie-Pacifique. |
40-44岁专业男声,中音域(145-165Hz),精准语速(128字/分钟)。粤语声调清晰(6-9声区分准确),金融术语'孖展'、'期權'发音标准,语气干练但不失礼貌。背景添加中环办公室环境音(轻微键盘声),适用于粤港澳大湾区金融、法律服务场景。 |
demo:張生,今日港股表現強勁,恒指升穿兩萬點。你個投資組合回報率達到15%,建議可以考慮逐步獲利回吐,鎖定利潤。 |
32-36岁自信男声,中高音域,中速语速(135字/分钟)。美式发音标准,'innovation'、'future'等关键词加入轻微回声效果,句尾略微上扬增强说服力。适用于面向北美市场的科技产品广告。 |
demo:Introducing the next generation smart home system. Control everything with your voice. Innovation made simple. |
28-32岁温柔女声,中高音域,舒缓语速(105字/分钟)。日式敬语体系完整,'優しい'、'綺麗'等情感词延长0.2秒,句尾加入0.15秒气息停顿。适用于日本市场美妆、护肤产品广告。 |
demo:このクリームは、お肌に優しく浸透します。朝起きた時、まるで赤ちゃんのような柔らかさに。ぜひお試しください。 |
28岁活泼女声,。韩语撒娇词汇'오빠'、'진짜요'发音标准,句尾添加'~아'、'~야'增强亲切感,'팬 여러분'等称呼加入0.3秒欢呼声。背景添加首尔江南区练习室环境音,适用于K-pop偶像虚拟角色、粉丝互动场景。 |
demo:안녕하세요, 오빠들! 오늘도 진짜 예쁘다구요~ 팬 여러분 덕분에 매일 행복해요. 다음 콘서트에서 꼭 만나요! |
60-65岁老年沧桑女声,中音域,舒缓语速。墨西哥西班牙语'sueño'、'recuerdo'等词带有轻微鼻音,句尾加入0.3秒叹息声体现怀念,'mi niño'等称呼充满情感。适用于亡灵节文化IP、家庭情感类角色塑造。 |
demo:Cada año, cuando las flores de cempasúchil florecen, sé que mis seres queridos regresan a visitarme. Ellos están en mi corazón, siempre. |
⑤ 语音助手定制
音色创建 Prompt |
效果 |
35-38岁专业男声,中低音域,精准语速(128字/分钟)。发音如字典标准,无地域口音,'会议'、'报告'等商务关键词加重10%音量,句间停顿0.4秒体现条理性。适用于企业办公、日程管理类语音助手。 |
demo:张总,您下午3点的董事会已确认,会议室调整为8楼VIP厅。需要我提前准备Q3财务报告PPT吗?另外,王经理刚发来邮件,建议将项目截止日期延后2天 |
40-43岁沉稳男声,中低音域,精准语速(122字/分钟)。发音极度清晰,'注意'、'危险'等安全词音调提高35%+语速加快20%。常规指令保持平稳低频,急转弯前提前3秒预警。适用于长途驾驶、高速公路导航场景。 |
demo:前方800米有测速摄像头,当前车速110公里,建议减速至100公里。注意!300米后连续急弯,请降至60公里/小时。已检测到前方事故,为您重新规划路线,预计延误8分钟。 |
🧙🏻 提示词公式指南
高质量的声音描述(voice_prompt)是成功创建理想音色的关键。它如同声音设计的“蓝图”,直接指导模型生成具有特定特征的声音。
提示词 = {性别}{年龄}的{音色特质}声音,{音调描述},{语速特征}。{情感/风格特质},适用于{用途/场景}。
维度 |
示例 |
性别特征 |
男性、女性、中性 |
年龄范围 |
儿童 (5-12岁)、青少年 (13-18岁)、青年 (19-35岁)、中年 (36-55岁)、老年 (55岁以上) |
音调描述 |
高音、中音、低音、偏高、偏低 |
语速特征 |
快速、中速、缓慢、偏快、偏慢 |
情感/风格特质 |
开朗、沉稳、温柔、严肃、活泼、冷静、治愈 有磁性、清脆、沙哑、圆润、甜美、浑厚、有力 |
用途/场景 |
新闻播报、广告配音、有声书、动画角色、语音助手、纪录片解说 |
DO ✅
|
DONOT ❌
|
💻 调用示例代码
音色设计与语音合成是紧密关联的两个独立步骤,遵循“先创建,后使用”的流程:
准备声音设计所需的声音描述与试听文本。
声音描述(voice_prompt):定义目标音色的特征(参考提示词公式指南)。
试听文本(preview_text):目标音色生成的预览音频朗读的内容(如“大家下午好”)。
调用创建音色接口,创建一个专属音色,获取音色名和预览音频。
此步骤必须指定target_model,声明创建的音色将由哪个语音合成模型驱动,试听获取预览音频来判断是否符合预期;若符合要求,继续下一步,否则,重新设计。
若已有创建好的音色(调用查询音色列表接口查看),可跳过这一步直接进行下一步。
使用音色进行语音合成。调用语音合成接口,传入上一步获得的音色。此步骤指定的语音合成模型必须和上一步的target_model一致。
声音设计时需要指定以下两个模型:
声音设计模型:qwen-voice-design
驱动音色的语音合成模型:目前仅支持qwen3-tts-vd-realtime-2025-12-16
import requests import base64 import os def create_voice_and_play(): api_key = os.getenv("DASHSCOPE_API_KEY") if not api_key: print("错误: 未找到DASHSCOPE_API_KEY环境变量,请先设置API Key") return None, None, None headers = { "Authorization": f"Bearer {api_key}", "Content-Type": "application/json" } data = { "model": "qwen-voice-design", "input": { "action": "create", "target_model": "qwen3-tts-vd-realtime-2025-12-16", "voice_prompt": "40-43岁沉稳男声,中低音域,精准语速(122字/分钟)。发音极度清晰,'注意'、'危险'等安全词音调提高35%+语速加快20%,距离提示时加入0.15秒电子提示音(550Hz)。常规指令保持平稳低频,急转弯前提前3秒预警。适用于长途驾驶、高速公路导航场景。", "preview_text": "前方800米有测速摄像头,当前车速110公里,建议减速至100公里。注意!300米后连续急弯,请降至60公里/小时。已检测到前方事故,为您重新规划路线,预计延误8分钟。", "preferred_name": "test17", "language": "zh" }, "parameters": { "sample_rate": 24000, "response_format": "wav" } } url = "https://dashscope.aliyuncs.com/api/v1/services/audio/tts/customization" try: response = requests.post( url, headers=headers, json=data, timeout=60 ) if response.status_code == 200: result = response.json() voice_name = result["output"]["voice"] print(f"音色名称: {voice_name}") base64_audio = result["output"]["preview_audio"]["data"] audio_bytes = base64.b64decode(base64_audio) filename = f"{voice_name}_preview.wav" with open(filename, 'wb') as f: f.write(audio_bytes) print(f"音频已保存到本地文件: {filename}") print(f"文件路径: {os.path.abspath(filename)}") return voice_name, audio_bytes, filename else: print(f"请求失败,状态码: {response.status_code}") print(f"响应内容: {response.text}") return None, None, None except requests.exceptions.RequestException as e: print(f"网络请求发生错误: {e}") return None, None, None except KeyError as e: print(f"响应数据格式错误,缺少必要的字段: {e}") print(f"响应内容: {response.text if 'response' in locals() else 'No response'}") return None, None, None except Exception as e: print(f"发生未知错误: {e}") return None, None, None if __name__ == "__main__": voice_name, audio_data, saved_filename = create_voice_and_play() if voice_name: print(f"\n成功创建音色 '{voice_name}'") print(f"音频文件已保存: '{saved_filename}'") print(f"文件大小: {os.path.getsize(saved_filename)} 字节") else: print("\n音色创建失败")