

F5-TTS 是一款开源的文本转语音模型,利用流匹配(flow matching)技术,只需 10-15 秒的音频样本即可克隆任何声音。该模型由上海交通大学和剑桥大学的研究人员开发,完全在本地硬件上运行,无需任何 API 费用。
F5-TTS 是一款完全非自回归的文本转语音系统,基于流匹配(flow matching)和 Diffusion Transformer 架构构建,由上海交通大学、剑桥大学和吉利汽车研究院的研究人员共同开发。该项目于 2024 年 10 月与其 arXiv 论文(arXiv:2410.06885)一同公开发布,并被自然语言处理领域的顶级会议 ACL 2025 主会录用。该项目已在 GitHub 上积累了 14.4k 颗星,在 Hugging Face 上的月下载量超过 600,000 次,并拥有 89 个由社区贡献的微调变体,使其成为自发布以来最受欢迎的开源 TTS 系统之一。其代码采用 MIT 许可证;由于使用了 Emilia 训练数据集,预训练模型权重采用 CC-BY-NC-4.0 许可证。
该模型无需任何微调,仅凭 3-15 秒的参考音频即可克隆声音,生成具有参考说话人音色和节奏的自然语音。它提供了两个主要的模型变体:F5TTS_Base(2024 年 10 月的初始发布版)和 F5TTS_v1_Base(2025 年 3 月发布,质量更高,推理速度更快)。这两个变体均可在 NVIDIA、AMD、Intel 和 Apple Silicon 硬件上运行。由 Lucas Newman 开发的专用 MLX 移植版在 M3 Max 上生成样本大约只需 4 秒。对于希望在没有托管 API 的情况下进行编程访问的开发者,F5-TTS 可通过其 pip 包、Gradio Web UI 或 CLI 直接集成到 Python 管道中。它与 Whisper 搭配使用,可自然地实现从转录到语音的工作流。
F5-TTS 在 2026 年 4 月的生成表现
该模型的输出是由 Vocos 或 BigVGAN 声码器生成的立体声或单声道音频,其实时因子(RTF)为 0.15,这意味着在支持的硬件上,其生成音频的速度大约是实时的 6.7 倍。对于大多数句子长度的输入,推理时间不到 7 秒。原论文中引入的 Sway Sampling 推理策略在不牺牲质量的情况下显著减少了所需的去噪步数,使其在与早期需要 50-100 个 DDPM 步数的基于扩散的 TTS 系统相比时具有实用优势。
主要支持的语言包括英语和中文(普通话),并能在话语中间无缝进行语码转换(code-switching),这是论文中专门进行基准测试的一项功能。该架构的简洁性吸引了社区针对波兰语、阿拉伯语、土耳其语、印度尼西亚语等其他语言进行微调,尽管这些语言需要 10-100 小时的目标语言训练数据才能达到零样本(zero-shot)能力。2025 年 3 月 12 日发布的 F5TTS_v1_Base 模型在基础模型的韵律和清晰度上进行了改进,是截至 2026 年 4 月新部署的推荐起点。
按照开源标准,其硬件要求非常亲民。该模型可以轻松加载到大约 3GB 的 GPU 显存中。Apple Silicon 用户无需 CUDA 栈即可运行原生 MLX 移植版。仅使用 CPU 进行推理也是可行的,但速度较慢。该项目提供了用于推理和微调的 Docker 镜像和 Gradio 界面,使其可部署在家庭工作站或云端 GPU 实例上。对于构建语音管道的团队,F5-TTS 的输出可以与 AudioRead 串联,用于下游音频处理。
F5-TTS 与 OpenVoice V2 和 Coqui XTTS-v2 的对比定位
这三个模型之间有意义的差异在于架构,而非表面。
OpenVoice V2(MyShell AI,2024 年 4 月):OpenVoice 使用两阶段管道。首先,基础 TTS 模型(MeloTTS)生成目标语言的自然语音。然后,一个独立的轻量级音色转换器模块(基于 VITS 风格的说话人编码和解码构建)在顶部克隆参考声音的音色。这种解耦意味着合成和克隆是独立的步骤。其优势在于可以像独立的表盘一样,对情感、口音、节奏、停顿和语调进行明确、细粒度的控制。局限性在于输出质量受限于基础 TTS 模型,并且当过度应用音色转换时,两阶段方法会引入伪影。OpenVoice V2 还带有完全宽松的 MIT 许可证,这意味着它可以用于商业产品,而无需像 F5-TTS 那样要求从头开始训练。OpenVoice V2 开箱即用地原生支持英语、西班牙语、法语、中文、日语和韩语。
Coqui TTS / XTTS-v2(公司已倒闭,模型仍活跃):XTTS-v2 使用 GPT-2 风格的自回归模型进行 token 预测,并配以 HiFi-GAN 声码器。由于它按顺序生成音频 token,因此支持流式传输,首块音频的延迟约为 200ms,非常适合实时语音应用。F5-TTS 的非自回归流匹配方法通过去噪并行生成所有帧,这使得批量合成速度更快,但在架构上难以实现原生流式传输。XTTS-v2 更大的优势在于语言覆盖范围:支持 17 种语言,包括德语、意大利语、葡萄牙语、俄语、波兰语、土耳其语、荷兰语、捷克语、阿拉伯语、日语、匈牙利语、韩语和印地语,而 F5-TTS 主要支持英语和中文。Coqui AI 于 2024 年初关闭;该模型由 PyPI 上的社区分支“coqui-tts”维护,但面临着与现代 PyTorch 版本日益增长的兼容性问题。对于今天需要在这 17 种语言中进行声音克隆的团队来说,尽管存在维护风险,XTTS-v2 仍然是默认的开源选项。
“它用 10 秒参考音频所做的克隆出奇地好。我没想到它能用如此简单的方式给出如此成功的结果。” - srkngl,HuggingFace 讨论区 (SWivid/F5-TTS #12),2024 年 11 月 28 日
与 ElevenLabs 或 PlayHT 等商业替代方案相比,F5-TTS 以牺牲便利性和多语言广度为代价,换取了零持续 API 成本和完整的数据隐私。每一次生成都保留在您的硬件上。对于将语音功能构建到具有高容量或敏感音频数据的应用程序中的开发者来说,这种权衡通常值得付出设置开销。
许可和版权的现实情况
F5-TTS 具有分离的许可结构,这让许多开发者措手不及。代码库采用 MIT 许可证,这是完全宽松的:您可以分叉、修改并在商业软件中无限制地使用它。然而,预训练模型权重是 CC-BY-NC-4.0,因为它们在 Emilia 数据集上进行了训练,而该数据集在自身的 CC-BY-NC 条款下运行。
实际影响是:您不能在商业产品中使用官方的 F5TTS_Base 或 F5TTS_v1_Base 模型权重,并且这种限制在微调后依然有效。维护者在 GitHub 讨论 #997 中直接证实了这一点:“经过 CC-BY-NC Emilia 训练的基础模型在微调后也不能用于商业用途。”要在 F5-TTS 架构上构建商业语音产品,您必须使用商业许可的数据从头开始训练一个新的基础模型,而不能加载任何源自 Emilia 的权重作为起点。这至少需要 10-100 小时的目标语言音频和可观的 GPU 预算,对于独立开发者来说绝非易事。
对于非商业项目(研究、教育、个人工具、爱好者项目),这种许可结构不会构成任何障碍。该模型在这些用途上是真正免费使用的,宽松的代码许可证意味着您可以随心所欲地部署它。但是,如果您正在构建 SaaS 产品、商业语音 API 或任何货币化应用程序,请在集成 F5-TTS 权重之前仔细审查此约束。这是 OpenVoice V2 凭借其 MIT 权重所拥有的关键优势,也是为什么该模型尽管原始输出质量可能较低,却能获得更多商业采用的原因。像 ComfyUI 这样的工具也通过在 MIT 许可的框架代码和特定于模型的条款之间保持清晰的分离,类似地应对了社区围绕限制性模型权重的压力。
F5-TTS 明显存在的不足之处
在 GitHub Issues、HuggingFace 讨论区和社区频道中,出现了几个反复出现的问题:
长文本语速加快:这是报告最一致的错误。在大约 200 个单词时,语速正常。在 300 个单词时,语速明显加快。在 500 个单词以上时,输出速度太快以至于无法理解。根本原因是 utils_infer.py 中的持续时间计算公式随着文本长度的增加低估了所需的时间。用户 hotdogarea 在 GitHub Issue #811(2025 年 2 月)中记录了这种渐进式压缩:42 个字符时为 0.051 秒/字符,146 个字符时为 0.014 秒/字符,374 个字符时为 0.006 秒/字符。该问题已关闭,但这种潜在行为在长文档工作流中依然存在。
依赖漂移导致乱码输出:在 2025 年 1 月至 3 月期间,公共 HuggingFace 演示 (mrfakename/E2-F5-TTS) 上的多名用户在最初正常工作后,经历了音频退化为难以理解的乱码输出的情况。用户 bigbrotherr 在尝试 13 次后将其描述为“乱码和垃圾”。根本原因是 Space 和主仓库之间的依赖漂移;修复方法需要在全新的虚拟环境中重新克隆。这是自托管模型预期的现实情况,但在生产部署中值得提前规划。
“我使用的是以前可以正常工作的相同音频和文本,但自 2025 年 1 月 10 日以来没有使用过它,现在的输出完全是乱码。” - gmirsky2,HuggingFace Spaces (mrfakename/E2-F5-TTS 讨论 #48),2025 年 3 月 11 日
macOS 安装复杂性:在 Apple Silicon 上运行 F5-TTS 需要仔细设置,特别是要避免使用 conda 管理的 CUDA 包(M2/M3 上不存在),并通过环境变量启用 MPS 回退。在不了解这些限制的情况下进行安装的用户,在解决配置问题之前通常会遇到音频质量差或崩溃的情况。
非流式输出:流匹配架构本质上是非自回归的:它通过并行去噪过程生成所有音频帧。这意味着您不能像 XTTS-v2 那样在 token 到达时将音频流式传输到扬声器。必须在开始播放之前生成完整的片段。对于对话式语音应用或低延迟实时使用,这是一个硬性的架构限制。
开箱即用的语言覆盖范围有限:尽管论文将其定位为“多语言”,但在实践中,默认模型只能很好地处理英语和中文。其他语言需要使用大量目标语言数据进行微调。GitHub 讨论论坛显示了社区在阿拉伯语、波兰语、印度尼西亚语和土耳其语方面的积极努力,但这些都是社区贡献的,并非官方维护。
F5-TTS 适合哪些人
适用场景:当您需要为非商业的英语或中文内容进行高质量的声音克隆,并且希望零持续 API 成本时。它非常适合有声读物旁白(从您自己声音的 15 秒参考片段生成章节)、独立游戏对话(在本地生成所有 NPC 台词,无需按字符付费)以及播客制作(在不重新录制的情况下保持内容中声音的一致性)。从事 TTS、语音转换或语音合成的研究人员会发现 MIT 代码许可证和干净的 DiT 架构易于扩展。如果您在 Apple Silicon 上进行构建,并希望获得无需 CUDA 的原生 MLX 工作流,社区移植版已达到生产就绪状态。F5-TTS 还可以与 Whisper 自然集成,用于闭环的转录到克隆语音管道,并与 Coqui TTS 微调模式集成,适合已经熟悉开源语音工作流的团队。
跳过场景:当您的项目是商业项目,且您无法在兼容 CC-BY 的数据上从头开始训练时。如果您需要对两种以上语言进行稳健覆盖,而又不想投入大量微调成本,请跳过它。如果您的应用程序需要实时流式音频(低延迟对话助手、实时语音合成),请跳过它。如果您的团队缺乏 Python 环境管理经验,请跳过它,因为依赖问题是最常见的故障模式。对于商业级多语言 TTS,ElevenLabs 或 PlayHT 提供了具有更广语言覆盖范围、托管可靠性和明确商业条款的托管 API,其按字符计算的成本值得与自托管的运营开销进行权衡评估。
用户评价
暂无评价,快来分享你的第一条体验吧!
登录 后即可撰写评价。
收录于精选合集
包含 F5-TTS 的精选合集。
相关文章
与 F5-TTS 相关的指南和文章。

OpenAI GPT-Realtime-2 (May 2026): Pricing, Latency & 30-Min Voice Agent
Build a 70-Language Live Voice Agent With GPT-Realtime-Translate (2026)

Run Open Source AI Models Locally: Battle-Tested Guide

What People Are Building With Claude Fable 5 (And Which Viral Demos Are Fake)

Grok 4.3 API for Agents (May 2026): Pricing, Benchmarks, Migration
