Fun-CosyVoice3-0.5B:把可控性做成接口的开源 TTS
cosyvoice-3
阿里通义 FunAudioLLM 的第三代 LLM 式语音合成系统,0.5B 参数,发布号 Fun-CosyVoice3-0.5B-2512,一次放出 base 与 RL 两档权重加训练与推理脚本;代码仓已迁到 QwenAudio/CosyVoice(Apache-2.0,23,794★,本站 2026-09-29 经 GitHub API 核)。本站把它列为音频域开源语音方向的梯顶,依据不是「最像人」,而是它给生产环境里 TTS 的四类真实故障各配了一个显式接口:多音字读错走发音修正(中文拼音与英文 CMU 音素直接写进输入);数字符号读法不对走自带文本归一化;长句崩掉走 RAS 重复感知采样;要低延迟走双向流式,官方首包 150ms,量级上能直接接进实时对话 agent。指标要读准三件事:test-zh 说话人相似度 78.0 是 0.5B 开源档最高、超过人类基线 75.5,但仍低于闭源 Seed-TTS 的 79.6,「开源第一」成立而「全球第一」不成立;test-hard 才是它的强项,base 6.71 / RL 5.44 全表最低、好过闭源 Seed-TTS 的 7.59,而 hard 集放的是长句与绕口令,这一列领先直接对应真实稿件的可用性;英文要打折看,base 的 test-en 相似度 71.8 低于人类基线 73.4,只有 RL 档的 WER 1.68 才追回来。base 与 RL 是同一架构的两个后训练权重:三处错误率全线下降(zh CER 降 33%、hard CER 降 19%),三处相似度小幅回落,播报与客服这类读错一个字就是事故的场景这笔交易划算,给特定 IP 配音的保真场景要先试听 RL 档。仓库同时放出 GRPO 训练脚本与 triton + TensorRT-LLM 运行时(官方称 4 倍加速),后训练是别人能接着跑的路径;语言面覆盖 9 种语言与 18 种以上中文方言口音,方言档是闭源 API 至今几乎不给的能力。边界:许可分两层,代码 Apache-2.0 但权重条款以模型页为准,商用前必须单独确认;全部读数出自作者自评测,没有第三方盲听榜可交叉验证,本站未复算;零样本克隆的相似度取自标准评测集,真实业务里参考录音的底噪与风格直接决定成品。置信度 C(厂商宣称)。
- 置信度
- 厂商宣称
- 只有官方模型卡/发布会,无独立复测
- 关键指标
- test-zh 说话人相似度(0.5B 开源档,人类基线 75.5)
- 厂商宣称 · 2025-12
- 成熟度
- 产品
- 研究 → 演示 → 产品 → 生产
我们的判断我们给它 C 档(厂商宣称)。README 那张评测表是作者自己跑的,基准(test-zh / test-en / test-hard)与 CV3-Eval 都由 FunAudioLLM 自己发布,本站没有复算任何一个数字,也没有做过盲听,所以按契约 §13.5 不能升 A。但这张表比一般厂商稿透明得多:它把人类基线一并列出来(test-zh CER 1.26 / SS 75.5,test-en WER 2.14 / SS 73.4),并且把闭源对手(Seed-TTS、MiniMax-Speech)与 11 个开源对手放在同一张表里,三个测试集都给了 CER/WER 与说话人相似度两列。有对照组的自评,至少能被读者自己推翻。
它值得进音频域梯顶的理由是「0.5B 拿到开源档最高的说话人相似度,同时在最难的测试集上拿到全表最低的错误率」这个组合。test-zh 相似度 78.0 高于人类基线 75.5,也高于同表里所有开源模型——VoxCPM(0.5B)77.2、Index-TTS2(1.5B)76.5、GLM-TTS RL(1.5B)76.4、FireRedTTS2(1.5B)73.2——而它的参数量是这些对手里最小的一档。更关键的是 test-hard:CER 6.71(base)/ 5.44(RL)是整张表最低,好过 Index-TTS2 的 7.12、CosyVoice2 的 6.83、VoxCPM 的 8.87,也好过闭源 Seed-TTS 的 7.59。绕口令、长句、生僻字这类 hard case 才是生产 TTS 的真实故障面,一个 0.5B 模型在这里领先,比在 test-zh 上多两分相似度有工程意义得多。
第二个理由是它把 RL 后训练的配方一起放出来了。base → RL 那一档的变化很有信息量:test-zh CER 1.21→0.81、test-en WER 2.24→1.68、test-hard CER 6.71→5.44,三处错误率全线下降;代价是相似度小幅回落(78.0→77.4、71.8→69.5、75.8→75.0)。这是一笔明码标价的交易:用一点音色保真换可懂度,而可懂度正是中文 TTS 上线后被投诉最多的那一维。仓库里同时给了 GRPO 训练脚本(CosyVoice2 的 GRPO 支持由 NVIDIA 的 Yuekai Zhang 贡献),所以这不是「发了一个 RL 权重」,而是一条能被别人接着跑的后训练路径——本站把它归到音频域而不是 LLM 域,但它的价值有一半在训练方法上。
选型时要认清四条边界。一,英文不是它的强项:test-en 相似度 71.8 低于人类基线 73.4 也低于 VoxCPM 的 72.9,WER 2.24 落后于 VoxCPM 的 1.85;英文优先的场景要先试听。二,权重许可与代码许可不是一回事:仓库(现已迁到 QwenAudio 组织下,23,794★,Apache-2.0,本站 2026-09-29 经 GitHub API 核)是 Apache-2.0,权重发布在 ModelScope 与 Hugging Face,商用前必须单独确认模型页的许可条款,不能拿仓库许可当权重许可用。三,没有第三方盲听榜结果:它不像音乐域那样有 Arena 排名可对,相似度与 CER 都出自同一套自评测流程。四,0.5B 的音色库不是无限的:零样本克隆的质量取决于参考音频,方言档(18+ 种)里冷门方言的稳定性只能自己验。它真正的护城河不在跑分,而在可确定性控制:拼音与 CMU 音素级的发音修正(多音字第一次能被钉死)、自带文本归一化(数字与符号不需要再挂一个前端模块)、双向流式 150ms、以及 instruct 控情感/语速/音量——这四件事闭源 API 到今天也没有全部给齐。
它解决的问题:把 TTS 从抽卡变成可交付的工程
Fun-CosyVoice3-0.5B(发布号 Fun-CosyVoice3-0.5B-2512)是阿里通义 FunAudioLLM 团队的第三代 LLM 式语音合成系统,0.5B 参数,权重发布在 ModelScope 与 Hugging Face,代码仓现已迁到 QwenAudio/CosyVoice(Apache-2.0,23,794★,本站 2026-09-29 经 GitHub API 核)。官方对它的定位是「面向真实场景(in the wild)的零样本多语种合成」,三代的技术路线是一脉相承的:v1 用监督语义 token 把语音变成 LLM 能预测的离散序列,v2 把它做成流式(25Hz 帧率 + 双向流),v3 的标题直接写明是规模化 + 后训练(arXiv 2505.17589)。这一代同时放出 base 与 RL 两档权重、训练与推理脚本,以及 ModelScope 上的 Gradio 空间。
它与本站已收的其它 TTS 资产最大的区别不在音质,而在可控性面。生产环境里 TTS 的故障几乎从不来自「不够自然」,而来自四类可预期的错误:多音字读错、数字与符号读法不对、长句崩掉、以及需要流式时延迟压不下去。CosyVoice 3 把这四类各给了一个显式接口:
- 发音修正(pronunciation inpainting):支持中文拼音与英文 CMU 音素直接写进输入,「行」读 xíng 还是 háng 由你钉死,不靠模型猜。这是把多音字从概率问题变成声明式配置。
- 自带文本归一化:数字、特殊符号与多种文本格式不需要再挂一个传统前端模块;可选装
ttsfrd提升归一化质量,不装则回落 WeTextProcessing。 - 双向流式(bi-streaming):文本入流与音频出流都支持,官方给的首包延迟低到 150ms,这是能直接接进实时对话 agent 的量级(对照:Eleven v4 Turbo 约 100ms、VibeVoice-Realtime 约 300ms)。
- instruct 指令控制:语种、方言、情感、语速、音量都能用自然语言指令调,不需要为每种风格单独训一个说话人。
一张表读懂它的水位:人类基线是这张表的关键
官方评测表同时给错误率(CER/WER,越低越好)与说话人相似度(SS,越高越好),并列出人类基线作为参照。挑出与本站选型相关的行:
| 模型 | 开源 | 规模 | test-zh CER ↓ | test-zh SS ↑ | test-en WER ↓ | test-en SS ↑ | test-hard CER ↓ | test-hard SS ↑ |
|---|---|---|---|---|---|---|---|---|
| 人类基线 | - | - | 1.26 | 75.5 | 2.14 | 73.4 | - | - |
| Fun-CosyVoice3-0.5B(base) | 是 | 0.5B | 1.21 | 78.0 | 2.24 | 71.8 | 6.71 | 75.8 |
| Fun-CosyVoice3-0.5B(RL) | 是 | 0.5B | 0.81 | 77.4 | 1.68 | 69.5 | 5.44 | 75.0 |
| VoxCPM | 是 | 0.5B | 0.93 | 77.2 | 1.85 | 72.9 | 8.87 | 73.0 |
| Index-TTS2 | 是 | 1.5B | 1.03 | 76.5 | 2.23 | 70.6 | 7.12 | 75.5 |
| GLM-TTS / GLM-TTS RL | 是 | 1.5B | 1.03 / 0.89 | 76.1 / 76.4 | - | - | - | - |
| VibeVoice-1.5B | 是 | 1.5B | 1.16 | 74.4 | 3.04 | 68.9 | - | - |
| CosyVoice2(上一代) | 是 | 0.5B | 1.45 | 75.7 | 2.57 | 65.9 | 6.83 | 72.4 |
| F5-TTS / Spark TTS / FireRedTTS2 / HiggsAudio-v2 | 是 | 0.3-3B | 1.52 / 1.2 / 1.14 / 1.50 | 74.1 / 66.0 / 73.2 / 74.0 | 2.00 / 1.98 / 1.95 / 2.44 | 64.7 / 57.3 / 66.5 / 67.7 | 8.67 / - / - / - | 71.3 / - / - / - |
| Seed-TTS(闭源) | 否 | - | 1.12 | 79.6 | 2.25 | 76.2 | 7.59 | 77.6 |
| MiniMax-Speech(闭源) | 否 | - | 0.83 | 78.3 | 1.65 | 69.2 | - | - |
要读准三件事。一,test-zh 相似度 78.0 是开源档最高,但仍低于闭源 Seed-TTS 的 79.6——所以「超过人类基线 75.5」是真话,「开源第一」也是真话,「全球第一」不是。二,test-hard 才是它的强项:6.71 / 5.44 是全表最低,好过闭源 Seed-TTS 的 7.59。hard 集放的是长句、绕口令与易错文本,这一列领先意味着它在真实稿件上的可用性高于同表其它开源模型。三,英文要打折看:test-en 相似度 71.8 低于人类基线 73.4,也低于同为 0.5B 的 VoxCPM(72.9);WER 2.24 落后 VoxCPM 的 1.85,只有 RL 档的 1.68 才追回来。
RL 那一档:用相似度换可懂度,这笔交易划不划算
base 与 RL 是同一套架构的两个权重,差异在后训练。把两档并排看,方向高度一致:
| 指标 | base | RL | 变化 |
|---|---|---|---|
| test-zh CER ↓ | 1.21 | 0.81 | 错误率降 33% |
| test-en WER ↓ | 2.24 | 1.68 | 错误率降 25% |
| test-hard CER ↓ | 6.71 | 5.44 | 错误率降 19% |
| test-zh SS ↑ | 78.0 | 77.4 | 相似度降 0.6 |
| test-en SS ↑ | 71.8 | 69.5 | 相似度降 2.3 |
| test-hard SS ↑ | 75.8 | 75.0 | 相似度降 0.8 |
三处错误率全线下降,三处相似度全线小幅回落。对播报、客服、有声书这类「读错一个字就是事故」的场景,这笔交易明显划算;对音色克隆保真度要求极高的场景(比如给一个特定 IP 配音),则要先听 RL 档的相似度回落能不能接受。更重要的是仓库把 GRPO 训练脚本一并放了出来(CosyVoice2 的 GRPO 支持由 NVIDIA 的 Yuekai Zhang 贡献,另有 triton + TensorRT-LLM 运行时),所以后训练不是一次性交付,而是一条别人能接着跑的路径——这也是本站把它与「只发权重不发训练代码」的模型区分开的地方。
语言与方言:9 种语言 + 18 种以上中文方言口音
覆盖 9 种常用语言(中、英、日、韩、德、西、法、意、俄),以及 18 种以上中文方言与地方口音,官方点名的包括广东、闽南、四川、东北、陕西( Shan3xi)、山西(Shan1xi)、上海、天津、山东、宁夏、甘肃等,同时支持多语与跨语零样本音色克隆。对中文产品来说,方言档是闭源 API 至今几乎不给的一项能力:地方政务播报、方言有声书、区域客服都需要它,而它同时又是「同一套模型 + instruct 指令」实现的,不是十几个独立模型。注音式的 Shan3xi / Shan1xi 写法本身就说明它把声调当成可声明的输入,这与拼音级发音修正是同一套设计思路。
工程面:0.5B、25Hz、四条部署路径
帧率沿用 CosyVoice2 的 25Hz(每秒 25 个语音 token),这是它能同时做到长上下文与低延迟的物理前提。部署侧官方给了四条路径,覆盖从笔记本到集群:
# 1) 本地 Python(最简单,example.py 里有零样本/跨语/instruct 全部用法)
python example.py
# 2) vLLM 加速:支持 vLLM 0.11.x+(V1 引擎)与 0.9.0(legacy)
# ⛔ 0.10.x 未测试,更老的版本不支持 CosyVoice 推理
pip install vllm==v0.11.0 transformers==4.57.1 numpy==1.26.4
python vllm_example.py
# 3) TensorRT-LLM + triton:官方给的数据是相对 HF transformers 实现 4 倍加速
cd runtime/triton_trtllm && docker compose up -d
# 4) grpc / fastapi 服务化(runtime/python 下有 Dockerfile,--max_conc 控并发)
python3 server.py --port 50000 --max_conc 4 --model_dir pretrained_models/Fun-CosyVoice3-0.5B
推理稳定性上它用的是 RAS(Repetition Aware Sampling)——LLM 式 TTS 的通病是长文本上重复或跳读,RAS 是针对这一失败模式的采样策略,与 25Hz 帧率、KV cache + SDPA 的流式优化一起构成「敢拿它跑长稿件」的理由。生态上它属于 FunAudioLLM 全家桶,同门有 FunASR(工业级识别,50+ 语言、说话人分离、流式)、Fun-ASR-Nano(端到端 LLM 式 ASR,31 语言、热词、vLLM 流式)、SenseVoice(超快 ASR + 情感 + 音频事件)与 FunClip,所以「合成 + 识别 + 剪辑」可以在同一套技术栈里闭环,这对自托管团队是实打实的省事。
边界与失败模式
四条要在上线前认清。许可分两层:代码仓 Apache-2.0,权重条款以 ModelScope / Hugging Face 模型页为准,商用前必须单独确认,不能拿仓库许可推定权重许可。指标同源:CER/WER/SS 全部出自作者自评测流程,CV3-Eval 也由作者发布,没有第三方盲听榜可以交叉验证,本站未复算。英文与相似度是有取舍的:RL 档换来了错误率,但英文相似度掉到 69.5,英文场景请优先试听 base 档。零样本克隆吃参考音频:相似度指标是在标准评测集上取的,真实业务里参考录音的底噪、时长与说话风格会直接决定成品质量,冷门方言档更需要自己验。最后一条与内容无关但值得记:仓库从 FunAudioLLM 迁到了 QwenAudio 组织下,说明这条线已经并入 Qwen 体系,长期维护信号是正面的,但引用旧链接的教程与 issue 会逐步失效。