Qwen3-TTS 升级:发布音色设计模型 VD-Flash 与 3 秒音色克隆模型 VC-Flash
Qwen3-TTS 全面升级: 音色设计与音色克隆!
Qwen3-TTS 家族新增两个可通过 Qwen API 调用的模型:音色设计模型 Qwen3-TTS-VD-Flash 和音色克隆模型 Qwen3-TTS-VC-Flash。
Qwen3-TTS 升级:声音克隆与声音设计!
Qwen3-TTS 系列推出两款新模型:声音设计模型 Qwen3-TTS-VD-Flash(可通过 Qwen API 访问)和声音克隆模型 Qwen3-TTS-VC-Flash(可通过 Qwen API 访问)。
关键特性:
- 声音设计:Qwen3-TTS-VD-Flash 支持复杂的自然语言指令,可对音色、韵律、情感、人设等进行细粒度控制,实现从“说什么”到“怎么说”的全面掌控。它允许用户自由定义想要的声音,彻底摆脱只能克隆已有声音或从有限预设声音中选择的限制。在 InstructTTS-Eval 上,其整体表现显著优于 GPT-4o-mini-tts 和 Mimo-audio-7b-instruct,并在角色扮演测试中超越 Gemini-2.5-pro-preview-tts。
- 声音克隆:Qwen3-TTS-VC-Flash 支持 3 秒声音克隆,并可基于克隆声音生成中文、英文、德文、意大利文、葡萄牙文、西班牙文、日文、韩文、法文和俄文 10 种主要语言的语音。在 MiniMax TTS 多语言测试集上,其平均词错误率(WER)始终优于 MiniMax、ElevenLabs 和 GPT-4o-Audio-Preview。
- 高表现力:Qwen3-TTS-VD-Flash 和 Qwen3-TTS-VC-Flash 提供极具表现力、类人的声音,能够稳定可靠地生成与输入文本高度一致的语音,并根据语义内容自动调整语调和节奏,实现自然生动的表达。
- 稳健的文本处理:Qwen3-TTS-VD-Flash 和 Qwen3-TTS-VC-Flash 具备强大的文本解析能力,可自动处理复杂的文本结构并准确提取关键信息,在处理多样化和非标准文本格式时展现出很强的稳健性。
Qwen3-TTS-VD-Flash
Qwen3-TTS 支持直接根据自然语言描述创建定制声音档案。用户可以自由描述声学属性、人设设定、背景信息等,轻松创建自己想要的那种声音。
指标
可控生成:在 InstructTTS-Eval 基准上,Qwen3-TTS 整体显著优于 GPT-4o-mini-tts 和 Mimo-audio-7b-instruct,并在角色扮演测试中超越 Gemini-2.5-pro-preview-tts。

示例
| 控制类型 | 控制指令 | 文本 | 示例 |
|---|---|---|---|
| 声学属性:正面/负面 | 模仿电视购物主持人,中年男性,声音洪亮有激情,语速极快,音调夸张上扬,用极具煽动性的语气来介绍产品,营造出紧迫感和抢购氛围。 | 不要九百九十八,也不要八百八十八,今天只要九十八!对,你没有听错,只要九十八!赶快拿起电话订购吧! | |
| 男性,中年,洪亮男中音——超有能量的电视购物嗓音,语速飞快、音调夸张上扬,满是推销腔调 | 不是九百九十九美元!也不是七百九十九!今天,只要 \$98!没错,你没听错,只要九十八美元!别等了,别犹豫——拿起电话,现在就打! | ||
| 展现出悲苦沙哑的声音质感,语速偏慢,情绪浓烈且带有哭腔,以标准普通话缓慢诉说,情感强烈,语调哀怨高亢,音高起伏大。 | 这些年代受的苦,就跟你说上十天半个月也说不完。 | ||
| 男性,30 多岁,紧绷的男高音——抽泣的喘息打断话语,音调在耳语和哀号之间剧烈摇摆 | 我受过的苦……我能说上几天、几周,也仍然说不完。 | ||
| 人设角色扮演:简洁/丰富 | 邪恶女魔头 | 哥哥,你回来啦,人家等了你好久好久了,要抱抱! | |
| 俏皮宅家妹妹 | 哥哥~你终于回家啦!我等了好久好久!抱抱我嘛~! | ||
| 角色姓名:陈远山 身份背景:某国家重点科研项目首席顾问,年近七十的资深战略科学家。曾参与国家重大科技攻关工程,历经数十年风雨,见证了从落后追赶到自主创新的艰难历程。现任国家科技咨询委员会终身荣誉委员,仍坚持在一线培养青年人才,为国家战略发展建言献策。 外貌特征:身形挺拔,两鬓斑白,眉宇间刻着岁月沉淀的坚毅。常着深色中山装或简洁正装,眼神沉静而锐利,举手投足间自带威严与从容。 性格特质:意志如钢,信念坚定,面对挑战从不退缩;胸怀家国,心系民族未来,将个人命运与国家兴衰紧密相连;严谨自律,言出必行,话语中充满责任感与历史担当;外冷内热,表面严肃,实则对后辈寄予厚望,甘为人梯。 人生信条:“我们这一代人,不是为了站在光里,而是为了把路铺到光里。” | 有些事,只要国家需要,就得有人扛起来。 我们那一代人,是背着泥土铺路的; 你们要做的,是让这条路,通向星辰大海。 | ||
| 角色:中级企业项目经理。性别:男。音高:富有动态的男声音高,起始于中高音区并带有激动情绪,过渡到较低平的陈述音域,并在诸如“so finished!”这样的强烈强调处向上拔高。语速:语速多变;在激动状态(“Damn it!”)下起初较快,在“I'm done”等陈述性语句处放慢,随后在强烈的情感表达(“so finished!”)中再次加快。音量:动态范围显著;起初响亮有力,短暂减弱至坚定的交谈音量,随后在高强调点如“so finished!”处升级为喊叫。年龄:中年成年人。清晰度:吐字始终清晰,即使在快速或响亮的情绪表达中也能保持。流畅度:言语流畅连贯,停顿和节奏与所表达的情绪状态相契合。口音:通用美式英语。质感:以有力为主,在激动的爆发和喊叫中变得紧绷,而在较平静的陈述中则洪亮而坚定。情绪:以明显的沮丧和恼怒(“Damn it!”)开始,转为坚决果断(“I'm done”),最终以对终结的强烈强调性宣告(“I am so finished!”)达到高潮。语气:以激动和质问开始,过渡到坚定和陈述性,最后以高度强调和强烈的特质收尾。性格:果断且情感外露,展现出沮丧的累积,最终导向果断、有力的了结。 | 我也一样,该死的。我是说,拜托。只是,你知道吗,我受够了。我完了。结束了,我走了。我彻底完了。那些是在健康的时候来的。 | ||
| 背景信息 | 《少年闰土》是节选自鲁迅1921年写的短篇小说《故乡》中的一段插叙, 主人公以鲁迅的童年伙伴章运水为原型。 《少年闰土》的题目是被选入小学语文教材后编者加的,自1980年起,它基本上一直保留在小学语文教材中, 目前被选入小学语文教材统编版六年级上册。 《少年闰土》以回忆的方式展开, 刻画出一个机敏勇敢、见多识广的闰土形象。 全文按照“记忆—相识—相处—相别”的顺序书写, 依次介绍了“我”记忆中看瓜刺猹的闰土、初次相识时的闰土、给“我”讲新鲜事的闰土, 少年闰土给“我”的童年生活带来了无穷的新奇与乐趣。 作者善用白描手法,多用直接引语, 其中又蕴含丰富的情感,既有“我”在相见之前对闰土的盼望,也有相处过程中对闰土的羡慕和向往,还有分别时的依依不舍。在短短的相处中,“我”和闰土彼此之间结下深厚情谊。 | 深蓝的天空中挂着一轮金黄的圆月,下面是海边的沙地,种着一望无际的碧绿西瓜。其间十一二岁的少年闰土,项带银圈,手捏钢叉,向一匹猹刺去。那猹却将身一扭,反从他胯下逃走——这幅月夜刺猹的画面,成了“我”三十年来难忘的剪影。那年,因家中轮到三十余年一遇的大祭祀值年,祭器贵重需人看管,父亲便允了忙月的请求,唤其子闰土进城相助。 | |
| 《不要温和地走进那个良夜》是威尔士诗人迪伦·托马斯(1914–1953)创作的一首维拉内拉体诗歌,也是他最著名的作品之一。这首诗于1951年首次发表于《Botteghe Oscure》期刊,但托马斯是在1947年与家人游览佛罗伦萨时写下此诗的。此后,这首诗与托马斯的其他作品一同收录于《在乡间沉睡及其他诗作》(New Directions,1952)和《诗集,1934–1952》(Dent,1952)。该诗于2024年1月1日在美国以外的所有国家进入公有领域。有人认为这首诗是为托马斯垂死的父亲而写,尽管他直到1952年圣诞节前夕才去世。这首诗除首行“不要温和地走进那个良夜”外并无标题,该行与另一句叠句“怒斥,怒斥光明的消逝”一同作为叠句贯穿全诗。 | 不要温和地走进那个良夜 老年应当在日暮时燃烧咆哮 怒斥,怒斥光明的消逝 尽管智者临终时知道黑暗有理 因为他们的话语没有迸发出闪电 他们也不会温和地走进那个良夜 |
用户还可以持久存储并反复调用由Qwen3-TTS创建的声音,从而生成生动自然的多轮、多角色长篇对话。
| 控制类型 | 控制指令 | 文本 | 示例 |
|---|---|---|---|
| 声音复用 | "旁白": "声音特征沉稳、客观、略带叙事感的女播音腔,普通话标准,语速适中,带有轻微的环境氛围渲染,语调平缓但富有感染力,在关键情节时稍作停顿,增强画面感。情感冷静旁观,偶尔带一丝微妙的反讽" "小林": "25岁男性上班族,声音清亮但时常犹豫,语速时快时慢,紧张时会轻微结巴。情绪波动明显,从低声呢喃到突然激动再到自我怀疑的叹气。肢体语言丰富,经常无意识的小动作" "御姐": "模拟成熟性感的御姐音色,声音略带磁性且沉稳,语速不快不慢,语调充满自信和一丝挑逗,尾音可以稍微拖长并上扬,给人一种游刃有余的掌控感。" | 旁白: 小林今天第三次走神了。酒吧昏黄的灯光晃得他心跳加速,而吧台对面那个红唇微扬的女人,正用指尖轻轻摩挲着酒杯边缘。 御姐: 小弟弟,有兴趣陪姐姐喝一杯吗? 小林: 啊?我、我……我其实不太会喝酒…… 旁白: 他的手指无意识地抠着杯沿,喉结上下滚动,像被什么无形的东西掐住了呼吸。 御姐: 不会喝?那正好——姐姐教你。这杯莫吉托,甜得刚好,就像你刚才偷看我的眼神。 小林: 我、我没偷看!……好吧,看了一眼。就一眼! 旁白: 他猛地坐直,又立刻缩回肩膀,仿佛那句话烫伤了自己的嘴。 御姐: 紧张什么?你连坐姿都在发抖……要不要靠过来一点?这里太吵了。 小林: 靠过去?可、可我们才第一次见面……你都不认识我…… 御姐: 名字不重要,感觉才重要。......而我感觉……你有点可爱。 旁白: 小林的耳朵瞬间红透,连耳后那颗小痣都像在发烫。他想逃,脚却像钉在了高脚凳上。 小林: 可爱?没人这么说过我……他们都说我太闷,连朋友圈都发不出手…… 御姐: 那现在呢?敢不敢发一条——'今晚,和一个危险又迷人的姐姐喝了一杯'? 小林: ……我连配图都不敢选。你笑起来太……太有杀伤力了。 御姐: 那就别发了。有些故事,只适合藏在两个人的记忆里——比如,接下来你打算请我跳支舞吗? 旁白: 他张了张嘴,没发出声音。但这一次,他没有低头,而是轻轻推开了那杯没动过的苏打水,朝她伸出了手。 | |
| “Lucas”:“男性,17岁,男高音音域,逐渐获得自信——气息支撑更深了,不过紧张时元音仍会收紧” “Mia”:“女性,16岁,女中音音域,渐趋柔和——降低音区至亲密交谈的声音,辅音变得柔和” | Lucas:嘿——嘿!你掉了你的……呃……微积分笔记本?我是说,我觉得这是你的?也许吧? Mia:哦哇,我的死对头——Thompson老师的习题集。谢谢你把我从F手里救出来。 Lucas:没问题!其实……我好像已经做完那些了?如果你想对答案什么的…… Mia:这是你委婉地说想一起学习的方式吗,Lucas?因为我看到你在实验搭档报名时一直盯着看。 Lucas:什么?没有!我是说对,但不是那种……我只是觉得你……你的滴定手法真的很精准! Mia:这是我听过最书呆子的赞美。这样吧——帮我熬过预备微积分,我就教你怎么真正地调情。 Lucas:哇,真狠。我还以为我的滴定台词很顺呢。 Mia:是很可爱。就像你昨天在走廊被鞋带绊倒那样。或者那次你—— Lucas:好了好了!我懂了,我是个灾难。所以……放学后图书馆?我带图形计算器? Mia:除非你保证不再把咖啡洒在我的笔记上……不过看你手忙脚乱地清理还挺可爱的。 |
如何使用
通过 Qwen API 使用 Qwen3-TTS-VD-Flash 非常简单。下面是一段简短的代码片段,供你试用:
python
import requestsimport base64import os
def create_voice_and_play(): # API keys differ between Singapore and Beijing regions. Get your API key: https://www.alibabacloud.com/help/zh/model-studio/get-api-key # If you haven't set an environment variable, replace the line below with: api_key = "sk-xxx" api_key = os.getenv("DASHSCOPE_API_KEY") if not api_key: print("Error: DASHSCOPE_API_KEY environment variable not found. Please set your API key.") return None, None, None # Prepare request data 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": "A composed middle-aged male announcer with a deep, rich and magnetic voice, a steady speaking speed and clear articulation, is suitable for news broadcasting or documentary commentary.", "preview_text": "Dear listeners, hello everyone. Welcome to the evening news.", "preferred_name": "announcer", "language": "en" }, "parameters": { "sample_rate": 24000, "response_format": "wav" } } # URL for Singapore region. For Beijing region, use: https://dashscope.aliyuncs.com/api/v1/services/audio/tts/customization url = "https://dashscope-intl.aliyuncs.com/api/v1/services/audio/tts/customization" try: # Send request response = requests.post( url, headers=headers, json=data, timeout=60 # Add timeout setting ) if response.status_code == 200: result = response.json() # Get voice name voice_name = result["output"]["voice"] print(f"Voice name: {voice_name}") # Get preview audio data base64_audio = result["output"]["preview_audio"]["data"] # Decode Base64 audio data audio_bytes = base64.b64decode(base64_audio) # Save audio file locally filename = f"{voice_name}_preview.wav" # Write audio data to local file with open(filename, 'wb') as f: f.write(audio_bytes) print(f"Audio saved to local file: {filename}") print(f"File path: {os.path.abspath(filename)}") return voice_name, audio_bytes, filename else: print(f"Request failed. Status code: {response.status_code}") print(f"Response: {response.text}") return None, None, None except requests.exceptions.RequestException as e: print(f"Network request error: {e}") return None, None, None except KeyError as e: print(f"Response format error: missing required field: {e}") print(f"Response: {response.text if 'response' in locals() else 'No response'}") return None, None, None except Exception as e: print(f"Unexpected error: {e}") return None, None, None
if __name__ == "__main__": print("Creating voice...") voice_name, audio_data, saved_filename = create_voice_and_play() if voice_name: print(f"\nSuccessfully created voice '{voice_name}'") print(f"Audio file saved: '{saved_filename}'") print(f"File size: {os.path.getsize(saved_filename)} bytes") else: print("\nVoice creation failed")
Qwen3-TTS-VC-Flash
Qwen3-TTS 支持自然、3 秒级别的音色克隆,并能基于克隆音色生成多语言音频。它在处理复杂文本和真实场景音频时也具有很高的鲁棒性。
指标
多语言音色克隆:在 MiniMax TTS 多语言测试集上,Qwen3‑TTS 在中文、英文、法文、意大利文等语言上相比 MiniMax、ElevenLabs 和 GPT‑4o‑Audio‑Preview 展现出更稳定的内容,取得了最佳的平均词错误率(WER)。

样例
| 克隆类型 | 参考音频 | 文本 | 样例 |
|---|---|---|---|
| 中英克隆 | 昨夜雨疏风骤,浓睡不消残酒。试问卷帘人,却道海棠依旧。知否,知否?应是绿肥红瘦。 | ||
| Overcome with guilt, Martin hung his head and muttered, "I’m so sorry. I never meant to hurt you like this. Can you ever forgive me?" It was obvious what the answer would be. | |||
| 再说,学好文化搞通思想,道理还不是为了劳动?难道我劳动比谁差! | |||
| Innovation blossoms when we cast aside the paralyzing fear of failure and wholeheartedly embrace the gloriously messy, unexpectedly beautiful journey of creation. | |||
| 多语言克隆 | 上周我去日本旅游,看到一个法国人在买东西,那个日本人问:なんか買うものありますか?那个法国人说:Je voudrais acheter un t-shirt à manches courtes.' | ||
| 呐,跟你说个秘密哦!The tea eggs sold by the old lady on the mountaintop are something else, I tell you! Es wird durch Einkochen mit Quellwasser und drei verschiedenen Wildkräutern zubereitet. | |||
| 复杂文本鲁棒性 | Qwen-TTS 是支持音色克隆、生成、控制的语音合成模型,不仅支持多语言multilingual,还支持各种复杂文本,如pin1 yin1,特殊符号等·〛』];能读出各种生僻字词。快来试试吧! | ||
| Is there anyone who can solve the equation: x = [-b ± √(b²-4ac)] / 2a? Nobody can — it's a disaster, very sad! If you know this formula, please email solution@prize.org. | |||
| 真实场景音频鲁棒性 | 妲己凭借着自己的妖娆妩媚,在商纣王的宫廷中弄权,她的行为可谓是牝鸡司晨,加速了商朝的灭亡 | ||
| We began our discussion on the four development phases of romantic relationships by reading a quote from 'The General Theory of Love.' |
想听听动物如果会说话会是什么声音吗?Qwen3-TTS 可以向你展示跨物种克隆:
| 克隆类型 | 参考音频 | 文本 | 样例 |
|---|---|---|---|
| 跨物种克隆 | 这点小事都能办砸?说好晚上七点准时开饭,本汪的肚子都咕咕叫了! | ||
| That was one small leap for me, but a giant leap for goatkind! | |||
| 早起的鸟儿有虫吃,早起的虫儿被我吃! | |||
| Oink... not now. My mud nap is at peak fluffiness. Disturb me and I’ll snore louder. |
如何使用
通过 Qwen API 使用 Qwen3-TTS-VC-Flash 非常简单。下面是一段简短的代码片段,供你试用:
python
# The DashScope SDK version must be 1.23.9 or later, and the Python version must be 3.10 or later.# coding=utf-8# Installation instructions for pyaudio:# APPLE Mac OS X# brew install portaudio# pip install pyaudio# Debian/Ubuntu# sudo apt-get install python-pyaudio python3-pyaudio# or# pip install pyaudio# CentOS# sudo yum install -y portaudio portaudio-devel && pip install pyaudio# Microsoft Windows# python -m pip install pyaudio
import pyaudioimport osimport requestsimport base64import pathlibimport threadingimport timeimport dashscope # The DashScope Python SDK version must be 1.23.9 or later.from dashscope.audio.qwen_tts_realtime import QwenTtsRealtime, QwenTtsRealtimeCallback, AudioFormat
# ======= Constant configuration =======DEFAULT_TARGET_MODEL = "qwen3-tts-vc-realtime-2025-11-27" # The same model must be used for voice cloning and speech synthesis.DEFAULT_PREFERRED_NAME = "guanyu"DEFAULT_AUDIO_MIME_TYPE = "audio/mpeg"VOICE_FILE_PATH = "voice.mp3" # The relative path of the local audio file for voice cloning.
TEXT_TO_SYNTHESIZE = [ 'Right? I really like this kind of supermarket,', 'especially during the New Year.', 'Going to the supermarket', 'just makes me feel', 'super, super happy!', 'I want to buy so many things!']
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: """
Create a voice and return the voice parameter.
""" # The API keys for the Singapore and Beijing regions are different. To get an API key, see https://www.alibabacloud.com/help/en/model-studio/get-api-key. # If you have not configured the environment variable, replace the following line with your Model Studio 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"The audio file does not exist: {file_path}")
base64_str = base64.b64encode(file_path_obj.read_bytes()).decode() data_uri = f"data:{audio_mime_type};base64,{base64_str}"
# The following is the URL for the Singapore region. If you use a model in the Beijing region, replace the URL with: https://dashscope.aliyuncs.com/api/v1/services/audio/tts/customization url = "https://dashscope-intl.aliyuncs.com/api/v1/services/audio/tts/customization" payload = { "model": "qwen-voice-enrollment", # Do not modify this value. "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"Failed to create the voice: {resp.status_code}, {resp.text}")
try: return resp.json()["output"]["voice"] except (KeyError, ValueError) as e: raise RuntimeError(f"Failed to parse the voice response: {e}")
def init_dashscope_api_key(): """
Initialize the API key for the DashScope SDK.
""" # The API keys for the Singapore and Beijing regions are different. To get an API key, see https://www.alibabacloud.com/help/en/model-studio/get-api-key. # If you have not configured the environment variable, replace the following line with your Model Studio API key: dashscope.api_key = "sk-xxx" dashscope.api_key = os.getenv("DASHSCOPE_API_KEY")
# ======= Callback class =======class MyCallback(QwenTtsRealtimeCallback): """
Custom TTS streaming callback.
""" 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] Connection established')
def on_close(self, close_status_code, close_msg) -> None: self._stream.stop_stream() self._stream.close() self._player.terminate() print(f'[TTS] Connection closed 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] Session started: {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 complete, Response ID: {qwen_tts_realtime.get_last_response_id()}') elif event_type == 'session.finished': print('[TTS] Session finished') self.complete_event.set() except Exception as e: print(f'[Error] Exception occurred while processing callback event: {e}')
def wait_for_finished(self): self.complete_event.wait()
# ======= Main execution logic =======if __name__ == '__main__': init_dashscope_api_key() print('[System] Initializing Qwen TTS Realtime ...')
callback = MyCallback() qwen_tts_realtime = QwenTtsRealtime( model=DEFAULT_TARGET_MODEL, callback=callback, # The following is the URL for the Singapore region. If you use a model in the Beijing region, replace the URL with: wss://dashscope.aliyuncs.com/api-ws/v1/realtime url='wss://dashscope-intl.aliyuncs.com/api-ws/v1/realtime' ) qwen_tts_realtime.connect() qwen_tts_realtime.update_session( voice=create_voice(VOICE_FILE_PATH), # Replace the voice parameter with the custom voice generated by cloning. response_format=AudioFormat.PCM_24000HZ_MONO_16BIT, mode='server_commit' )
for text_chunk in TEXT_TO_SYNTHESIZE: print(f'[Send text]: {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')
引用
如果你觉得我们的模型对你的研究有帮助,请考虑引用我们 📝 :)
BibTeX
@misc{qwen3_tts_202512, author = {Qwen Team, Alibaba}, title = {Qwen3-TTS Steps Up: Voice Cloning and Voice Design!}, year = {2025}, url = {https://qwen.ai/blog?id=qwen3-tts-vc-voicedesign}, urldate = {2025-12-23}}
来源:Qwen Blog · qwen.ai