语音模型 2026 开源 TTS 选型指南:六款主流语音合成模型实测对比

导语
如果你在 2026 年要做语音合成相关的产品,开源的选项比两年前多了好几倍。CosyVoice 2、Qwen3-TTS、Fish Speech、IndexTTS2……功能各有侧重,但选错模型可能要付出几周甚至几个月的返工代价。这篇文章把六款主流开源 TTS 从部署到效果完整对比一遍,帮你提纲挈领。全文约 4000 字,阅读需要 12 分钟。
还有omnivoice,稍后验证后上效果
这篇文章适合谁看
- 有 Python 开发基础,想给自己的应用接入语音合成能力
- 手头有消费级 GPU 或服务器资源,需要本地部署 TTS 服务
- 正在做语音助手、配音工具、有声书、数字人等项目
- 关注模型许可证,需要可商用的 Apache 2.0 或 MIT 方案
看完你能掌握:六款模型的定位差异、部署方式、Python 调用方法、关键指标对比和选型决策逻辑。
2026 开源 TTS 全景
2026 年的开源 TTS 生态,大致可分为四个阵营:
- 工程化成熟派:CosyVoice 2、Qwen3-TTS。阿里系出品,中文生态最完善,Docker、vLLM、gRPC 一应俱全,生产环境首选
- 零样本克隆派:IndexTTS2、F5-TTS。3 秒参考音频即可复刻任意音色,前者还能精细控制情感和时长
- 多语言全能派:Fish Speech、VoxCPM2。支持语言数量最多,多语言混合场景的首选
- 轻量级选手:Spark-TTS(0.5B)、Kokoro-82M。资源开销极低,适合验证和轻量集成
六款主力模型详解
CosyVoice 2 — 工程成熟度最高的中文 TTS
阿里通义实验室 FunAudioLLM 出品,2025 年底发布 0.5B 版本。cosyvoice已经出3了,后续验证
- 核心能力:3 秒零样本克隆 + 流式推理(首包延迟约 1.5 秒)+ 自然语言指令控制
- 语言支持:中文、英文、日文、韩文 + 粤语、四川话等方言变体
- 许可证:Apache 2.0
- 硬件需求:单路实时推理约 4GB 显存,RTX 4090 可跑 2 路并发
- 生态亮点:Docker Compose(FunSpeech)、WebUI、FastAPI、gRPC、TensorRT-LLM、MCP Server 全支持
安装部署方式:
bash
# 官方仓库
git clone --recursive https://github.com/FunAudioLLM/CosyVoice.git
cd CosyVoice
conda create -n cosyvoice python=3.10
conda activate cosyvoice
pip install -r requirements.txt
python
from cosyvoice.cli.cosyvoice import CosyVoice2
model = CosyVoice2('pretrained_models/CosyVoice2-0.5B')
# 零样本克隆:3 秒参考音频
result = model.inference_zero_shot_streaming(
text="你好,欢迎使用 CosyVoice。",
speech_ref=audio_ref
)
⚠️ **依赖安装注意** CosyVoice 的 `requirements.txt` 中部分库版本较老,建议用 Python 3.10 虚拟环境。如果遇到 `pynini` 安装失败,试试 `conda install -y -c conda-forge pynini==2.1.5`。
Qwen3-TTS — 阿里新秀,延迟最低
2026 年 1 月开源,Qwen 团队出品,主打超低延迟和自然语言音色设计。
Qwen3-TTS语音模型不能加减速,实际应用效果远不及cosyvoice。非常不推荐。
- 核心能力:端到端延迟仅 97ms(单字符即可输出),支持自然语言描述生成音色("用亲切温柔的女声说")
- 模型系列:1.7B(旗舰)和 0.6B(轻量),各有 CustomVoice / VoiceDesign / Base 三个变体
- 语言支持:10 种语言(中英日韩德法俄葡西意)
- 许可证:Apache 2.0
- 硬件需求:0.6B 约 2GB 显存,1.7B 约 6GB
安装和调用极其简洁:
bash
pip install -U qwen-tts
python
import torch
import soundfile as sf
from qwen_tts import Qwen3TTSModel
model = Qwen3TTSModel.from_pretrained(
"Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice",
device="cuda:0",
dtype=torch.bfloat16,
)
wavs, sr = model.generate_custom_voice(
text="你好,欢迎使用 Qwen3 语音合成。",
language="Chinese",
speaker="Vivian",
instruct="用亲切温柔的语气说",
)
sf.write("output.wav", wavs[0], sr)
Qwen3-TTS 还有一个很特殊的功能——VoiceDesign 模式。你可以用自然语言描述想要的音色,比如"一个 30 岁男性的低沉嗓音,带一点沙哑",模型会为你生成匹配的声音。
Fish Speech 1.5 — 社区最活跃的多语言选手
Fish Audio 出品,GitHub 30K+ Star,社区活跃度最高。
- 核心能力:双自回归架构,零样本克隆 + 精细情感/韵律控制
- 语言支持:中英日为主,社区版本支持更多语言
- 许可证:Apache 2.0(Fish Speech)/ Research License(S2 Pro 商业需另外授权)
- 硬件需求:基础推理 ≥4GB,语音克隆 ≥6GB
安装时需要特别注意 Python 版本和 PyTorch 对齐:
bash
# 务必使用 Python 3.12
conda create -n fish-speech python=3.12.10
conda activate fish-speech
pip install torch==2.8.0 torchaudio==2.8.0 --index-url https://download.pytorch.org/whl/cu126
git clone https://github.com/fishaudio/fish-speech
cd fish-speech
git checkout v1.5.1
pip install -e .
python
# 启动 WebUI
python -m tools.run_webui
或者通过 API 调用:
python
from flask import Flask, request, jsonify
from fishspeech import Synthesizer
app = Flask(__name__)
synthesizer = Synthesizer.from_pretrained("fishspeech_1.5.pt")
@app.route('/synthesize', methods=['POST'])
def synthesize():
data = request.json
waveform = synthesizer.synthesize(data['text'])
return jsonify({'audio': waveform.tolist(), 'sample_rate': 24000})
⚠️ **Fish Speech 常见坑** Python 3.13/3.14 会导致依赖冲突,一定用 3.12。另外要切到 v1.5.0 或 v1.5.1 tag,不要用 main 分支。模型权重建议从 ModelScope 下载,国内速度更快。

IndexTTS2 — 情感和时长控制的天花板
B 站 Index 团队 2025 年 9 月开源,在语音克隆的情感表达上做到了目前最优。
- 核心能力:7 种基础情感独立控制、Token 级时长精确控制(误差 < 0.02%)、音色与情感解耦
- 语言支持:中英双语,55K 小时训练数据(30K 中文 + 25K 英文)
- 许可证:Apache 2.0
- 硬件需求:FP16 下约 7.8GB 显存,RTX 3060 8GB 即可运行
bash
# 安装依赖 uv(不支持 pip/conda 直接安装)
uv run webui.py
情感控制示例——你可以指定"用快乐的情绪读这段文字"或"带一点悲伤":
python
# IndexTTS2 的 T2E 情感模块
result = model.synthesize(
text="今天天气真好,阳光明媚。",
ref_audio="sample.wav",
emotion="happy", # 可选:angry/happy/fear/disgust/sad/surprise/calm
duration=5.0, # 精确控制语音时长(秒)
)
F5-TTS — 最简洁的零样本克隆
Flow Matching + DiT 架构,MIT 许可证,结构极简,适合快速上手。
- 3 秒参考音频即可克隆音色,中英双语
- MIT 许可证,商业最省心
- 社区活跃,第三方集成丰富
bash
git clone https://github.com/SWivid/F5-TTS.git
cd F5-TTS
pip install -r requirements.txt
F5-TTS 是最适合"先跑起来看看"的模型——安装简单、代码量少、效果在同级别模型里不差。
Spark-TTS — 最低资源消耗
基于 Qwen2.5 的 0.5B 模型,显存需求仅 1-2GB,甚至可以在无独显的机器上跑。
- 优势:上手极快,对熟悉 LLM 的开发者友好,支持性别/音调/语速控制
- 短板:16kHz 采样率偏低,长文本表现一般,综合生态不如上面几位
bash
git clone https://github.com/SparkAudio/Spark-TTS.git
cd Spark-TTS
pip install -r requirements.txt
选型对比总表
| 模型 | 参数 | 许可证 | 显存需求 | 零样本克隆 | 情感控制 |
|---|---|---|---|---|---|
| CosyVoice 2 | 0.5B | Apache 2.0 | ~4 GB | ✅ 3s | ✅ NLC |
| Qwen3-TTS | 0.6-1.7B | Apache 2.0 | ~2-6 GB | ✅ 3s | ✅ VoiceDesign |
| Fish Speech 1.5 | ~1B | Apache 2.0 | ~4-6 GB | ✅ 1s | ✅ 精细控制 |
| IndexTTS2 | 未公开 | Apache 2.0 | ~8 GB | ✅ 3s | ✅ 7种 + 时长 |
| F5-TTS | ~0.3B | MIT | ~3 GB | ✅ 3s | ❌ |
| Spark-TTS | 0.5B | Apache 2.0 | ~1-2 GB | ✅ 3s | 部分 |
效果对比(客观指标)
按论文数据和社区 Benchmark 汇总:
| 模型 | 英文 WER ↓ | 中文 WER ↓ | 情感相似度 ↑ | 首包延迟 |
|---|---|---|---|---|
| CosyVoice 2 | 2.07% | 2.43% | 0.831 | ~1.5s |
| Qwen3-TTS | — | — | — | ~97ms |
| Fish Speech 1.5 | 3.50% | 1.30% | — | ~100ms |
| IndexTTS2 | 1.88% | 2.12% | 0.872 | — |
| Spark-TTS | 2.43% | 2.87% | 0.847 | — |
场景化推荐
- 实时语音助手 / 对话机器人 → Qwen3-TTS(97ms 延迟,无可匹敌)或 CosyVoice 2(流式稳定,生态成熟)
- 有声书 / 视频配音 → IndexTTS2(精确时长控制 + 情感表达最佳)或 CosyVoice 2(方言支持,中文自然)
- 多语言内容生产 → Fish Speech 1.5(社区最活跃,多语言数据最多)
- 语音克隆产品 → CosyVoice 2(工程最完善)或 IndexTTS2(情感最丰富)
- 快速验证 / 轻量集成 → Spark-TTS(1-2GB 显存)或 F5-TTS(MIT 协议,安装简单)
成本估算
以单卡 RTX 4090 自部署一套 TTS 服务为例:
- 硬件:RTX 4090 24GB(约 ¥1.6 万,按 3 年折旧 ≈ ¥440/月)
- 电费:满载约 450W,日均 8 小时 ≈ ¥80/月
- 总持有成本:约 ¥520/月
对比商业 API:
- ElevenLabs:$5-99/月,按字符计费
- 阿里云百炼 TTS:¥0.002-0.006/次调用
- Azure TTS:$1-16/月 + 按字符
用量大的场景自部署更划算,中小项目直接用 API 更省心。而且自部署的好处是数据不出本地,隐私安全。
总结
一句话:中文场景首选 CosyVoice 2,低延迟要求选 Qwen3-TTS,情感控制选 IndexTTS2。如果你不确定从哪个开始,CosyVoice 2 是目前综合工程成熟度最高的选择。
主流TTS对比
| Model | Open-Source | Model Size | test-zh CER (%) ↓ | test-zh SS (%) ↑ | test-en WER (%) ↓ | test-en SS (%) ↑ | test-hard CER (%) ↓ | test-hard SS (%) ↑ |
|---|---|---|---|---|---|---|---|---|
| Human | - | - | 1.26 | 75.5 | 2.14 | 73.4 | - | - |
| Seed-TTS | ❌ | - | 1.12 | 79.6 | 2.25 | 76.2 | 7.59 | 77.6 |
| MiniMax-Speech | ❌ | - | 0.83 | 78.3 | 1.65 | 69.2 | - | - |
| F5-TTS | ✅ | 0.3B | 1.52 | 74.1 | 2.00 | 64.7 | 8.67 | 71.3 |
| Spark TTS | ✅ | 0.5B | 1.2 | 66.0 | 1.98 | 57.3 | - | - |
| CosyVoice2 | ✅ | 0.5B | 1.45 | 75.7 | 2.57 | 65.9 | 6.83 | 72.4 |
| FireRedTTS2 | ✅ | 1.5B | 1.14 | 73.2 | 1.95 | 66.5 | - | - |
| Index-TTS2 | ✅ | 1.5B | 1.03 | 76.5 | 2.23 | 70.6 | 7.12 | 75.5 |
| VibeVoice-1.5B | ✅ | 1.5B | 1.16 | 74.4 | 3.04 | 68.9 | - | - |
| VibeVoice-Realtime | ✅ | 0.5B | - | - | 2.05 | 63.3 | - | - |
| HiggsAudio-v2 | ✅ | 3B | 1.50 | 74.0 | 2.44 | 67.7 | - | - |
| VoxCPM | ✅ | 0.5B | 0.93 | 77.2 | 1.85 | 72.9 | 8.87 | 73.0 |
| GLM-TTS | ✅ | 1.5B | 1.03 | 76.1 | - | - | - | - |
| GLM-TTS RL | ✅ | 1.5B | 0.89 | 76.4 | - | - | - | - |
| Fun-CosyVoice3-0.5B-2512 | ✅ | 0.5B | 1.21 | 78.0 | 2.24 | 71.8 | 6.71 | 75.8 |
| Fun-CosyVoice3-0.5B-2512_RL | ✅ | 0.5B | 0.81 | 77.4 | 1.68 | 69.5 | 5.44 | 75.0 |

开源TTS本地部署和运行示例
浙公网安备 33010602011771号