☰
F5-TTS 快速语音克隆教程:一段参考音频,3 分钟做出你的 AI 配音
2026/11/2 1:35:46 网站建设 项目流程

F5-TTS 快速语音克隆教程:一段参考音频,3 分钟做出你的 AI 配音

【免费下载链接】F5-TTSOfficial code for "F5-TTS: A Fairytaler that Fakes Fluent and Faithful Speech with Flow Matching"项目地址: https://gitcode.com/gh_mirrors/f5/F5-TTS

F5-TTS 是一个开源的零样本语音克隆项目:提供一段参考音频,它就能用相近的音色完成语音合成,输出可直接使用的 AI 配音。本文按“先做什么、后做什么”的顺序,带你走完环境安装、第一次合成与 TTS 配置,并整理常见问题的处理办法。

F5-TTS 能干什么:四个内容生产场景

本节列出 F5-TTS 覆盖的四个内容生产场景,先判断它是否匹配你的工作流。

  • 视频旁白:整段文案交给gen_text或gen_file,CLI 与 Web 端会自动分块合成(单块上限约 30 秒),输出 24kHz 的 WAV,可直接进剪辑时间线。
  • 播客与有声书:同一段文本可切换多个角色声音,官方示例用三个声音讲了一则寓言。
  • 音色复刻:3~10 秒的参考音频即可“借”到音色,新文本即时合成,无需针对该声音单独训练模型。
  • 多语言内容:官方权重面向中英混合场景,社区贡献的日文、法文、德文、俄文等模型收录在 SHARED.md,按语言挑选即可。

技术层面,项目用流匹配(flow matching)替代典型扩散过程做语音生成,默认采样步数 32(nfe_step可调),这是它推理速度快的主要原因。

模型怎么选:按场景对照表直接挑

本节给出“场景 → 推荐模型 → 理由”的对照,避免在几个模型名之间反复比较。

使用场景推荐模型选择理由
日常配音、中文或中英混合F5TTS_v1_Base2025 年 3 月发布的最新版,训练与推理表现更好
低显存、快速验证想法F5TTS_Small / E2TTS_Small参数量更小,推理更快,适合快速试听
想用 BigVGAN 声码器F5TTS_BaseCLI 提供 bigvgan 选项,旧版配套最齐
日文、法文、德文等特定语言社区 Small / Base 模型按语言在 SHARED.md 中挑选

结构上的差异:F5 系列用 DiT 主干,E2 系列是更简单的 Flat-UNet;推理输出统一由 Vocos 声码器解码为 24kHz 音频。官方预训练权重的存放位置见 ckpts/README.md,推理脚本会按需自动下载,无需手动搬运文件。

3 分钟跑通第一次合成

本节把克隆、安装、运行压成最短路径,目标是几分钟内听到第一段音频。

前提:Python 3.10 以上、已安装 FFmpeg;GPU 用户先装好与 CUDA 版本匹配的 PyTorch。在终端运行克隆与安装命令:

git clone https://gitcode.com/gh_mirrors/f5/F5-TTS cd F5-TTS pip install -e .

只跑推理、不做训练,也可以直接pip install f5-tts。安装完成后运行默认命令:

f5-tts_infer-cli

这条命令使用内置的basic.toml示例配置(英文参考音频与文本),首次运行会从模型库自动下载权重到本地缓存,结果保存到tests/目录,输出文件名由output_file决定(默认infer_cli_basic.wav)。第一次先听结果,确认音色方向对了,再进入下一节调参数。

换成自己的素材时,把三个参数直接写在命令行里:

f5-tts_infer-cli --model F5TTS_v1_Base \ --ref_audio ref.wav --ref_text "参考音频的内容文本" \ --gen_text "要合成的文字"

不想手动配环境,也可以用仓库自带的 Dockerfile 构建镜像,一条命令起 Web 界面:

docker build -t f5tts:v1 . docker container run --rm -it --gpus=all -p 7860:7860 f5tts:v1 f5-tts_infer-gradio --host 0.0.0.0

让声音更像参考音的关键参数

本节讲清ref_audio、ref_text、speed三个参数与参考音频要求,它们决定合成声音“像不像、自然不自然”。

  • ref_audio:时长控制在 12 秒以内,超过会被自动裁到约 12 秒,结尾被切词会拉低生成质量;结尾留约 1 秒静音。选单人、背景噪音少、语速适中的片段,WAV、FLAC 均可,关键是能被 FFmpeg 正常解码。
  • ref_text:写参考音频的准确文本,能显著提升音色还原度。留空则自动调用 ASR 转录,额外占用显存,转录不准时同样影响效果。
  • speed:语速倍率,默认 1.0,通过--speed或配置文件调整,情感浓的内容可试 0.8 左右。
  • remove_silence:设为true时清除输出中的过长静音,适合成品直接入库。

最小配置文件(.toml):

model = "F5TTS_v1_Base" ref_audio = "ref.wav" ref_text = "参考音频的内容文本" gen_text = "要合成的文字" speed = 1.0 remove_silence = false

文本书写约定(详见 src/f5_tts/infer/README.md):

  • 大写字母(最好写成 K.F.C. 这种形式)会逐字母朗读,普通单词用小写。
  • 需要停顿处显式插入空格或标点;英文句号后记得加空格,否则分块不生效。
  • 数字默认按英文读法处理,要中文读法就先转成中文字。
  • 长文本用gen_file比gen_text方便,两者同时存在时以gen_file为准。

多角色场景下,在 toml 里定义每个声音,再在文本中用方括号标记切换:

[voices.town] ref_audio = "town.wav" [voices.country] ref_audio = "country.wav"

文本里出现[main]、[town]等标记时切换到对应声音,完整例子见 multi 示例目录。

三种接入方式:CLI、Web、API

本节给出三种接入方式的定位与启动命令,按交付形态选择。

  • CLI——适合脚本化与批量任务,参数全部可写进 toml,长文本自动分块,适合把配音写进 shell 或 CI 流程。
  • Web——Gradio 可视化界面,不写代码也能调参试听,内置长文本分块与多声音生成,还带基于 Qwen2.5-3B-Instruct 的语音聊天。
  • API——Python 类封装,seed、采样步数、输出路径都可程序化控制,适合集成进自己的应用。
f5-tts_infer-gradio python src/f5_tts/api.py

API 方式下还能调nfe_step(采样步数,默认 32)与cfg_strength(文本贴合度):步数越少越快、细节略损。需要实时流式输出时,另有 socket 服务端按块发送音频:

python src/f5_tts/socket_server.py python src/f5_tts/socket_client.py

踩坑速查

本节把新手最常遇到的几类问题整理成“现象 → 处理”两栏,遇到报错先查这里。

现象处理
输出是纯静音检查 FFmpeg 是否安装,缺失时合成流程会失败
参考音频结尾被切词参考音频控制在 12 秒内,并在结尾留约 1 秒静音
音色不像参考音换更干净的参考音频;核对 ref_text 与音频内容是否一致
字母、数字读法不符合预期大写逐字母读;中文数字先写成中文字
长文本里停顿怪异在需要停顿处插入空格或标点,英文句号后加空格
显存不足换轻量模型、缩短参考音频或减少并发
首次加载慢、显存上涨留空 ref_text 会加载 ASR 模型做转录,提供 ref_text 可跳过
微调早期 checkpoint 效果差尝试关闭 use_ema
找不到输出文件WAV 保存在 output_dir 目录(默认 tests/),文件名由 output_file 决定

第一次合成跑通后,建议固定一套满意的参考音频与 ref_text,之后只改 gen_text,效果最稳定。想集成进自己的应用,从 api.py 的F5TTS类入手;需要批量与评测时,参考 eval 目录下的脚本。

【免费下载链接】F5-TTSOfficial code for "F5-TTS: A Fairytaler that Fakes Fluent and Faithful Speech with Flow Matching"项目地址: https://gitcode.com/gh_mirrors/f5/F5-TTS

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询