微信扫码
添加专属顾问
我要投稿
阿里Qwen3-TTS两大黑科技震撼登场,3秒克隆任何声音,还能跨物种合成!核心内容:1. VoiceDesign功能:用文字描述直接生成定制音色,打破传统预设音色池限制2. VoiceClone技术:仅需3秒音频即可高精度克隆声音,支持10种语言转换3. 跨物种音色克隆:突破人声限制,可复制动漫角色、动物叫声等非常规音色
说实话,今年语音模型的内卷程度已经到了不讲武德的地步。
但这次,Qwen3-TTS 的更新,是真的有点狠,可能会直接刷新你的认知。
阿里通义刚刚上线了 Qwen3-TTS 的两大核心能力:
不仅可以让你自己设计声音,而且还顺手把「跨语言、跨风格、跨角色,甚至跨物种」这件事一起解决了,也可以说是创造声音。
Qwen3-TTS 正在把语音合成,从「音色选择题」,变成「声音编程」。
下面有一段最新能力的演示视频,建议观看↓。
先给大家看几个核心指标,感受下强度:
而真正的杀手锏,其实是下面这两个能力。
以前的 TTS 是什么逻辑?
选一个「男声/女声/情绪」,调下语速、音高,然后结束。
本质还是预设音色池 + 参数微调。
Qwen3-TTS 最新的 VoiceDesign 直接推翻了这套逻辑。
它直接支持全文本控制音色特征:
不需要任何预设音色限制,直接“描述声音”即可。
Role-play 能力据官方测试结果,VoiceDesign 在角色扮演表现上,明显超过 GPT-4o-mini 和 Gemini-2.5-pro。
终于不再是“一个声音演所有角色”。
如果说 VoiceDesign 是「从 0 创造声音」,那 VoiceClone 就是「完美复刻现实世界的声音」。
既一个“创造声音”,另一个“复制灵魂”。
核心亮点:
只要 3 秒音频,就能克隆一个声音,并且让它说 10 种语言。
并且其错误率比 ElevenLabs/GPT-4o 低 15%,还有 0.1 秒级生成速度加成。
所以它具备更低错误率、多语言更稳、音色一致性更强的优势。
甚至支持非常规音色 — 这也是大家说它“跨物种音色克隆”的原因。
这次 Qwen3-TTS 最让人“啊?”的一点是:
已经开始支持非传统人声的风格迁移(跨物种)。
虽然官方描述得比较克制,但从 Demo 来看:卡通音、夸张角色音、动物叫声都已经能稳定复刻。
游戏/动画/IP角色的语音生产成本,会被直接打穿。
想体验现成的服务,可直接在阿里魔搭平台进行 Demo 体验。
声音设计:
https://modelscope.cn/studios/Qwen/Qwen3-TTS-Voice-Design
声音克隆(跨物种):
https://modelscope.cn/studios/Qwen/Qwen-TTS-Clone-Demo
Hugging Face上也有相关Demo,考虑到国内小伙伴们这里就不贴出来了。
另一种方式就是调用 API 服务了,其中 VoiceDesign 的模型名为:qwen3-tts-vd-realtime-2025-12-16,VoiceClone 的模型名为:qwen3-tts-vc-realtime-2025-11-27。
需前往阿里云百炼开通服务,不过应该每人账户都有一些免费额度可使用的。(相关资料文档都会放在文末)
代码调用示例(VoiceClone):
import pyaudio
import os
import requests
import base64
import pathlib
import threading
import time
import dashscope # DashScope Python SDK 版本需要不低于1.23.9
from dashscope.audio.qwen_tts_realtime import QwenTtsRealtime, QwenTtsRealtimeCallback, AudioFormat
# ======= 常量配置 =======
DEFAULT_TARGET_MODEL = "qwen3-tts-vc-realtime-2025-11-27" # 声音复刻、语音合成要使用相同的模型
DEFAULT_PREFERRED_NAME = "guanyu"
DEFAULT_AUDIO_MIME_TYPE = "audio/mpeg"
VOICE_FILE_PATH = "voice.mp3" # 用于声音复刻的本地音频文件的相对路径
TEXT_TO_SYNTHESIZE = [
'对吧~我就特别喜欢这种超市,',
'尤其是过年的时候',
'去逛超市',
'就会觉得',
'超级超级开心!',
'想买好多好多的东西呢!'
]
def create_voice(file_path: str,
target_model: str = DEFAULT_TARGET_MODEL,
preferred_name: str = DEFAULT_PREFERRED_NAME,
audio_mime_type: str = DEFAULT_AUDIO_MIME_TYPE) -> 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")
file_path_obj = pathlib.Path(file_path)
if not file_path_obj.exists():
raise FileNotFoundError(f"音频文件不存在: {file_path}")
base64_str = base64.b64encode(file_path_obj.read_bytes()).decode()
data_uri = f"data:{audio_mime_type};base64,{base64_str}"
# 以下为北京地域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,
"audio": {"data": data_uri}
}
}
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}")
try:
return resp.json()["output"]["voice"]
except (KeyError, ValueError) as e:
raise RuntimeError(f"解析 voice 响应失败: {e}")
def init_dashscope_api_key():
"""
初始化 dashscope SDK 的 API key
"""
# 新加坡和北京地域的API Key不同。获取API Key:https://help.aliyun.com/zh/model-studio/get-api-key
# 若没有配置环境变量,请用百炼API Key将下行替换为:dashscope.api_key = "sk-xxx"
dashscope.api_key = os.getenv("DASHSCOPE_API_KEY")
# ======= 回调类 =======
class MyCallback(QwenTtsRealtimeCallback):
"""
自定义 TTS 流式回调
"""
def __init__(self):
self.complete_event = threading.Event()
self._player = pyaudio.PyAudio()
self._stream = self._player.open(
format=pyaudio.paInt16, channels=1, rate=24000, output=True
)
def on_open(self) -> None:
print('[TTS] 连接已建立')
def on_close(self, close_status_code, close_msg) -> None:
self._stream.stop_stream()
self._stream.close()
self._player.terminate()
print(f'[TTS] 连接关闭 code={close_status_code}, msg={close_msg}')
def on_event(self, response: dict) -> None:
try:
event_type = response.get('type', '')
if event_type == 'session.created':
print(f'[TTS] 会话开始: {response["session"]["id"]}')
elif event_type == 'response.audio.delta':
audio_data = base64.b64decode(response['delta'])
self._stream.write(audio_data)
elif event_type == 'response.done':
print(f'[TTS] 响应完成, Response ID: {qwen_tts_realtime.get_last_response_id()}')
elif event_type == 'session.finished':
print('[TTS] 会话结束')
self.complete_event.set()
except Exception as e:
print(f'[Error] 处理回调事件异常: {e}')
def wait_for_finished(self):
self.complete_event.wait()
# ======= 主执行逻辑 =======
if __name__ == '__main__':
init_dashscope_api_key()
print('[系统] 初始化 Qwen TTS Realtime ...')
callback = MyCallback()
qwen_tts_realtime = QwenTtsRealtime(
model=DEFAULT_TARGET_MODEL,
callback=callback,
# 以下为北京地域url,若使用新加坡地域的模型,需将url替换为:wss://dashscope-intl.aliyuncs.com/api-ws/v1/realtime
url='wss://dashscope.aliyuncs.com/api-ws/v1/realtime'
)
qwen_tts_realtime.connect()
qwen_tts_realtime.update_session(
voice=create_voice(VOICE_FILE_PATH), # 将voice参数替换为复刻生成的专属音色
response_format=AudioFormat.PCM_24000HZ_MONO_16BIT,
mode='server_commit'
)
for text_chunk in TEXT_TO_SYNTHESIZE:
print(f'[发送文本]: {text_chunk}')
qwen_tts_realtime.append_text(text_chunk)
time.sleep(0.1)
qwen_tts_realtime.finish()
callback.wait_for_finished()
print(f'[Metric] session_id={qwen_tts_realtime.get_session_id()}, '
f'first_audio_delay={qwen_tts_realtime.get_first_audio_delay()}s')
Qwen3-TTS 并不是“炫技型 TTS”,而是可以直接上生产的 TTS。
从这次 Qwen3-TTS 的更新能明显感觉到一个趋势:
语音合成,正在从「音色播放」,进化成「声音建模与设计」。
如果你在做 AI语音Agent、多模态应用、游戏/虚拟角色等,那 Qwen3-TTS 这一波,真的值得重点关注。
值得大家未来应用在各种语音场景中,发挥出它的强大能力。
API 文档(语音设计):
https://www.alibabacloud.com/help/zh/model-studio/qwen-tts-voice-design
API 文档(语音克隆):
https://www.alibabacloud.com/help/zh/model-studio/qwen-tts-voice-cloning官方博客:
https://qwen.ai/blog?id=qwen3-tts-vc-voicedesign
如果本文对您有帮助,也请帮忙点个 赞👍 + 在看 哈!❤️
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2025-12-24
Seed Prover 1.5:全新 Agentic 架构,更强数学推理表现
2025-12-24
MiniMax M2.1 终于上线,咱憋了一肚子话终于能说了。。。。。
2025-12-24
GLM-4.7发布后,n8n就不用学了!搭个AI Skills一键生成工作流
2025-12-24
在引入 AI Agent 之前,企业至少要先想清楚这 5 件事
2025-12-24
MiniMax M2.1 首测——从零构建应用的新体验
2025-12-23
从“拼模型”走向“拼平台”,Agent真正跑进业务,需要什么样的底座?
2025-12-23
探秘 AgentRun丨流量一大就瘫痪?如何解决 AI 模型调用之痛
2025-12-23
智能时代的数据基座:烟台银行构建“可信数据存储安全体系”的实践与展望
2025-10-26
2025-10-02
2025-09-29
2025-10-07
2025-09-30
2025-11-19
2025-10-20
2025-11-13
2025-10-02
2025-10-18
2025-12-23
2025-12-22
2025-12-16
2025-12-15
2025-12-14
2025-12-12
2025-12-12
2025-12-11