CosyVoice3:为每一种口音而打造
CosyVoice2 解决了延迟问题——150ms 首包延迟的流式合成让它可以用于实时语音聊天。但在覆盖范围上仍有不足:面向中文用户的语音产品不能只支持普通话,还需要粤语、四川话、上海话以及十多种地方口音,才能听起来真实自然,而不是带着千篇一律的通用腔。CosyVoice3 是阿里巴巴 FunAudioLLM 对这一缺口的回应——它沿用相同的流式架构,扩展到更多语言和更多中文方言,并带来一种无需重新训练即可修正发音的新方法。
CosyVoice3 有哪些新变化
CosyVoice3(以 Fun-CosyVoice3-0.5B 发布)与 CosyVoice2 一样采用 0.5B 参数规模。它不是从零重建,而是重点解决团队在上一代中发现的三个具体弱点:内容一致性、说话人相似度和韵律自然度。根据阿里巴巴公布的基准测试,最终模型在保持同样精简参数规模的同时,性能超过了多个规模更大的竞品系统。
方言和语言覆盖大幅扩展
这是最核心的变化,也是 CosyVoice3 作为独立版本存在、而不只是一次小版本升级的原因。CosyVoice3 支持 9 种语言——中文、英语、日语、韩语、德语、西班牙语、法语、意大利语和俄语——同时覆盖 18 种以上的中文地方方言和口音,包括粤语、四川话、上海话、东北话、陕西话、山西话、天津话、山东话、宁夏话和甘肃话。很少有开源 TTS 模型会尝试在单个 checkpoint 中实现如此细致的方言覆盖;也正因如此,CosyVoice3 特别适合面向中国市场的产品,因为单一的“普通话”声音并不能令人信服地代替听众真实的地方口音。
发音修复(Pronunciation Inpainting)
CosyVoice3 引入了早期版本没有的能力:直接提供正确的拼音或音素序列,就能纠正某个特定的误读词——通常是多音字或生僻术语——无需重新训练或微调模型。在医疗、法律或技术内容等生产场景中,一个错误读音就可能破坏整段音频;这项能力让过去难以处理的误读问题变得可以直接修正。
跨语言克隆能力提升
早期版本已经可以从中文参考片段克隆声音并生成自然的英语(反之亦然),但 CosyVoice3 专门针对这一场景进行了改进——团队给出的目标是在参考语言与生成语言不一致时,更好地保留说话人的音色特征。
基准测试结果
阿里巴巴公布的评测结果显示,CosyVoice3 相比自家上一代和规模更大的第三方模型都处于有利位置:
- 经 RL 调优的变体,其中文字符错误率为 0.81%——低于 F5-TTS 的 1.52% 和 VibeVoice-1.5B 的 1.16%,尽管 CosyVoice3 的参数量大约只有 VibeVoice 的三分之一。
- 英文单词错误率为 1.68%,同样优于 F5-TTS(2.00%)和 VibeVoice-1.5B(3.04%)。
- 中文说话人相似度为 78.0%,英文为 71.8%;据报告,中文数据超过了同一评测中真人重新录音所建立的相似度基准。
实际意义在于:参数量并不是这里的决定性因素。CosyVoice3 的优势来自具体的架构改进——更好的 token 表示、改进的训练和有针对性的方言数据——而不是简单扩大规模。
CosyVoice3 入门
- 连同子模块一起克隆仓库。 CosyVoice3 与早期版本共用同一个 GitHub 仓库:
git clone --recursive https://github.com/FunAudioLLM/CosyVoice.git——Matcha-TTS 依赖要求必须使用--recursive标志。 - 确认下载的是 Fun-CosyVoice3-0.5B。 使用 ModelScope 的
snapshot_download或从 Hugging Face 拉取——务必选择 3.0 checkpoint,而不是较早的 CosyVoice2 或原始 CosyVoice 模型目录。 - 在必要时明确选择方言或语言。 如果你的使用场景需要特定地方口音,请选择对应的方言声音或指令,而不是依赖通用中文模型从上下文中推断。
- 集成前先启动 WebUI 测试。
python3 webui.py --port 50000 --model_dir pretrained_models/Fun-CosyVoice3-0.5B会打开一个 Gradio 界面,可直接测试克隆、方言选择和发音修复。 - 如果规模化推理速度成为瓶颈,请使用 TensorRT-LLM。 项目报告称,相比标准 Transformers 推理,语言模型组件可获得大约 4x 加速——对于处理大量请求的生产部署,值得投入配置成本。
- 不想自行托管的团队可以考虑托管 API。 阿里云百炼将 CosyVoice3 作为托管 API 提供(
cosyvoice-v3-flash/cosyvoice-v3-plus),其标称首包延迟最低可达 150ms;如果自行运行推理栈不是优先事项,可以选择这种方式。
获得更好结果的技巧
- 不要先认定某个词无法修正,应先尝试发音修复。 多音字或技术术语的误读通常只需一行音素修正,不必因此重新生成整段音频或放弃用该模型处理这段内容。
- 明确指定方言,不要依赖隐式推断。 在提供 18+ 种方言的情况下,让模型根据上下文猜测不如直接指定目标口音可靠,尤其是宁夏话或甘肃话等较少见的方言。
- 逐一验证跨语言组合。 跨语言克隆能力有所提升,但质量仍会因具体语言对而异——请测试产品实际需要的源语言到目标语言组合,不要假设全部 9 种语言之间的结果都完全一致。
- 使用干净的 3–10 秒参考片段。 这仍是模型零样本克隆所针对的时长范围;无论使用哪个版本,嘈杂或异常长的参考音频都会降低说话人相似度。
- 不要习惯性地默认选择最大的可用模型。 CosyVoice3 在基准测试中超过 VibeVoice-1.5B 等更大模型,这提醒我们架构和训练数据比参数规模本身更重要——应在实际内容上评估后,再判断其他更大的模型是否更好。
CosyVoice3、CosyVoice2 与原始 CosyVoice 对比
| CosyVoice3 | CosyVoice2 | CosyVoice(原始版) | |
|---|---|---|---|
| 参数量 | 0.5B | 0.5B | 300M |
| 语言 | 9 | 多语言(方言更少) | 5 |
| 中文方言 | 18+ | 有限 | 并非重点 |
| 发音修复 | 是 | 否 | 否 |
| 流式生成 | 是 | 是,在此版本引入 | 否 |
| 跨语言克隆 | 已改进 | 支持 | 支持 |
| 中文 CER(最佳变体) | 0.81% | 更高 | 基准 |
每个版本解决的约束都不同:原始版本证明受监督 token 优于无监督 token,CosyVoice2 加入了实时应用所需的流式架构,而 CosyVoice3 则将同一基础扩展到更多语言和方言,同时提升发音准确性。如果你的产品特别需要真实的中文地方口音,或需要无需重新训练即可修正误读的方法,CosyVoice3 就是为此打造的版本。
常见问题
CosyVoice3 相比 CosyVoice2 的主要升级是什么?
主要是方言和语言覆盖广度——CosyVoice3 覆盖 9 种语言和 18 种以上的中文地方方言,而 CosyVoice2 的覆盖范围更有限——此外还加入了新的发音修复功能,并提高了跨语言克隆准确性。
什么是发音修复?
这是 CosyVoice3 的一项功能:通过直接提供正确的拼音或音素序列,可以纠正某个具体误读词——通常是多音字或生僻术语——无需重新训练模型。
CosyVoice3 仍然支持流式低延迟生成吗?
是的。CosyVoice3 建立在 CosyVoice2 引入的流式架构之上,托管 API 选项标称首包延迟最低可达 150ms。
CosyVoice3 与 VibeVoice 或 F5-TTS 等更大模型相比如何?
在阿里巴巴公布的基准测试中,CosyVoice3 在中英文错误率和声音克隆说话人相似度方面都超过了这两个模型,尽管它的参数量尤其小于 VibeVoice-1.5B。
CosyVoice3 免费且开源吗?
是的。模型权重和代码可通过 FunAudioLLM/CosyVoice GitHub 仓库和 ModelScope 获取;阿里云还另行提供托管 API,供更偏好托管服务的团队使用。
在浏览器中把文字转换为语音
如果你希望完成相近的“文字 → 单人语音”流程,可以使用 Echora 的文字转语音。输入最多 5,000 个字符,选择内置音色或已保存的自定义音色,按需添加支持的表达标签并调整语音稳定度,然后试听结果并下载生成的 MP3。