项目详情

F5-TTS

零样本声音克隆:给一段参考音频,用 Flow Matching 生成任意文本的同款嗓音

GitHub 地址 MIT Python 3.10+PyTorch

更新于 2026-08-04

← 返回汇总
项目速览

一句话定位

开源零样本 TTS 的新标杆

上海交大 X-LANCE 实验室 2024 年 10 月开源的 TTS 系统。用 Diffusion Transformer + Flow Matching 训练,无需微调即可克隆任意说话人音色(只需几秒参考音频)。中英双语,质量接近商用产品(ElevenLabs 级)。适合做语音助手、有声书、视频配音、多语言内容本地化的开发者和研究者。

项目速览

核心数据

15k
GitHub Stars
0.04
RTF(L20 GPU)
0
微调样本需求
2.2k
Forks
为什么存在

它要解决的痛点

传统 TTS 要大量训练

VITS/Tacotron 需几小时目标人录音 + 微调,部署成本高。

商用克隆贵且闭源

ElevenLabs 按字符收费,数据上传云端,隐私与成本都成问题。

既有开源质量不足

早期零样本 TTS 念长文本易崩、情感平淡、韵律机械。

🔥 核心原理

整体推理管线

从「文本 + 参考音频」到「合成语音」,F5-TTS 走的是端到端路线,无独立的时长预测/声学/声码器多阶段:

参考音频 几秒目标嗓音 → 文本 + 音频 文本/音频编码 文本 token 化 音频 → Mel + 填充 Flow Matching DiT + ConvNeXt V2 从噪声生成 Mel Vocoder Vocos / BigVGAN Mel → 波形 输出波形 同款音色 念任意文本
主流程(端到端) 输入编码(参考 + 目标)
🔥 核心原理

Flow Matching 是什么

  • 本质:训练一个网络,学会把「随机噪声分布」连续地「流动」到「真实语音 Mel 分布」
  • vs 扩散模型:Flow Matching 学的是速度场(常微分方程 ODE),路径更直,采样步数少
  • 少步生成:16 步 NFE(函数评估次数)即可出高质量音频,推理快
  • 训练稳定:相比传统扩散,loss 更平滑,收敛快,显存友好
  • 数学根基:来自 Meta 的 Flow Matching 论文,F5 是其在 TTS 上的成功落地
噪声 → 语音 Mel 扩散(弯曲/多步) Flow Matching(直/少步)
🔥 核心原理

DiT + ConvNeXt V2 的组合

F5-TTS 的核心网络 = Diffusion Transformer 主干 + ConvNeXt V2 前处理,论文称这是它能「faster trained and inference」的关键。

  • DiT(主干):用 Transformer 替代 U-Net 处理 Mel 帧,长序列建模强,韵律更自然
  • ConvNeXt V2(前端):对参考音频做特征提取,局部纹理捕捉好,音色还原准
  • 无时长预测器:文本和音频对齐靠填充 token 自学习,简化管线
  • Sway Sampling:推理时偏移采样步分布,让更多步数花在难收敛段,质量提升
ConvNeXt V2 Diffusion Transformer Attention FFN × N 层 输出 Mel 谱
🔥 核心原理

零样本克隆如何实现

关键技巧:参考音频的 Mel 直接作为条件,和目标文本一起喂给 DiT。网络在大规模双语数据(Emilia ZH-EN)上学会「读参考 Mel 提取音色 → 套用到新文本」。

# 简化伪代码:推理时的一次调用
from f5_tts import infer_process, load_model

model = load_model("F5-TTS")  # 预训练权重

# 给一段参考音频 + 它的文本 + 想要合成的新文本
audio = infer_process(
    ref_audio="sample.wav",        # 3-10 秒目标嗓音
    ref_text="这段话的转写",        # 参考音频对应文本
    gen_text="用这个嗓音念的任意新文本",
    model=model
)
# → 输出:同款音色念 gen_text,无需任何微调

参考音频和文本的配对很关键:文本越准,音色/韵律还原越好。错误转写会导致韵律漂移。

性能基准

推理速度与部署

部署模式硬件RTF延迟说明
Client-ServerL20 GPU ×2 并发0.0394253ms生产可用,实时
Offline TRT-LLML20 GPU0.0402—TensorRT 加速,批处理
Offline PyTorchL20 GPU0.1467—原始未优化,3.7× 慢

RTF(Real-Time Factor)= 合成耗时 / 音频时长。RTF 0.04 意味着生成 1 秒音频只需 40ms,远超实时。TRT-LLM 部署把 PyTorch 原生速度提升 ~3.7 倍。

快速上手

三种使用方式

pip 一键推理
pip install f5-tts
# 启动 Gradio 网页
f5-tts_infer-gradio

最快,适合只想试用

源码可训练
git clone SWivid/F5-TTS
cd F5-TTS
pip install -e .

可微调自己的数据

Docker 部署
docker run --gpus=all \
  -p 7860:7860 \
  ghcr.io/swivid/f5-tts

环境隔离,生产友好

支持 NVIDIA / AMD ROCm / Intel XPU / Apple Silicon 全平台。Apple Silicon 走 MPS,速度尚可但不及独显。

功能特性

不止是基础 TTS

生态对比

在开源 TTS 版图的位置

项目路线零样本特点
F5-TTSFlow Matching + DiT✅ 强质量/速度平衡佳,生态活跃
GPT-SoVITSAR + VITS✅中文社区最大,少样本微调强
XTTS-v2 (Coqui)GPT + 扩散✅多语言(17 种),但 Coqui 已停摆
CosyVoice (阿里)LM + Flow Matching✅同代竞品,中文情感控制强
StyleTTS 2扩散 + 对抗⚠️ 弱速度快但克隆需少量数据
Parler-TTS文本条件扩散❌用文字描述音色,无需参考音频
适用场景

用它来做什么

风险提示

需要警惕

潜力评估

未来空间

Flow Matching 已成为生成模型新范式(Sora/语音/蛋白质都用它),F5-TTS 占据了开源 TTS 的技术制高点。v1 模型 + TRT-LLM 部署方案显示其向生产级演进。15k stars + 上交大背景,是中文开源 TTS 最值得跟踪的项目之一。若多语言和情感控制继续增强,有望成为开源界的 ElevenLabs。


上一个
three.js
下一个
video-shotcraft
1 / 16