首页
/ 3分钟上手F5-TTS:从安装到多场景语音生成全攻略

3分钟上手F5-TTS:从安装到多场景语音生成全攻略

2026-02-04 05:08:50作者:秋泉律Samson

你是否还在为找不到简单易用的语音合成工具而烦恼?是否尝试过多种TTS系统却被复杂的配置和不理想的效果劝退?本文将带你从零开始,3分钟内掌握F5-TTS的安装与使用,轻松实现高质量语音生成,无论你是普通用户还是开发人员,都能快速上手这款强大的开源语音合成工具。

读完本文,你将能够:

  • 快速搭建F5-TTS的运行环境
  • 使用Web界面和命令行两种方式生成语音
  • 掌握多风格、多 speaker 语音生成技巧
  • 了解如何将F5-TTS部署到生产环境

环境准备:3步完成安装

F5-TTS支持多种安装方式,无论是想快速体验还是深入开发,都能找到合适的方案。

基础环境配置

首先需要创建一个独立的Python环境,推荐使用conda:

conda create -n f5-tts python=3.11
conda activate f5-tts

然后根据你的硬件选择对应的PyTorch安装命令,以NVIDIA GPU为例:

pip install torch==2.4.0+cu124 torchaudio==2.4.0+cu124 --extra-index-url https://download.pytorch.org/whl/cu124

安装方式选择

F5-TTS提供了两种主要安装方式,满足不同需求:

1. 快速体验(仅用于推理)

如果你只需要使用语音合成功能,最简单的方式是通过pip安装:

pip install f5-tts

2. 本地开发(用于训练和微调)

如果需要进行模型训练或微调,建议使用本地可编辑模式安装:

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

Docker一键部署

对于追求便捷部署的用户,Docker方案是理想选择:

# 构建镜像
docker build -t f5tts:v1 .

# 运行容器
docker container run --rm -it --gpus=all --mount 'type=volume,source=f5-tts,target=/root/.cache/huggingface/hub/' -p 7860:7860 ghcr.io/swivid/f5-tts:main

更详细的安装说明可以参考项目官方文档:README.md

快速上手:两种方式玩转语音合成

F5-TTS提供了直观易用的界面和灵活的命令行工具,无论你是普通用户还是技术开发者,都能轻松上手。

Gradio Web界面:可视化操作

Gradio界面是最友好的使用方式,只需一行命令即可启动:

f5-tts_infer-gradio

默认情况下,程序会自动打开浏览器,展示直观的操作界面。你也可以指定端口和主机:

f5-tts_infer-gradio --port 7860 --host 0.0.0.0

当前Gradio界面支持的主要功能包括:

  • 基础文本到语音转换(支持长文本自动分块)
  • 多风格/多说话人生成
  • 基于Qwen2.5-3B-Instruct的语音对话
  • 多语言支持(通过自定义配置

Gradio界面示意图

命令行工具:灵活高效

对于需要集成到脚本或批量处理的场景,命令行工具更为适合。基础用法如下:

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

F5-TTS还支持通过配置文件实现更复杂的语音合成任务。项目提供了多个示例配置,例如基础示例:

f5-tts_infer-cli -c src/f5_tts/infer/examples/basic/basic.toml

基础配置文件的格式如下:

model = "F5TTS_v1_Base"
ref_audio = "infer/examples/basic/basic_ref_en.wav"
ref_text = "Some call me nature, others call me mother nature."
gen_text = "I don't really care what you call me. I've been a silent spectator."
output_dir = "tests"

更多命令行参数可以通过f5-tts_infer-cli --help查看,详细使用说明参见infer/README.md

进阶技巧:多风格语音合成

F5-TTS的强大之处在于支持多风格、多说话人的语音合成,通过简单的配置即可实现丰富的语音效果。

多风格配置文件

利用TOML配置文件,你可以轻松定义多个语音风格。项目提供了一个多风格示例:

f5-tts_infer-cli -c src/f5_tts/infer/examples/multi/story.toml

这个示例配置文件定义了多个语音风格:

model = "F5TTS_v1_Base"
ref_audio = "infer/examples/multi/main.flac"
gen_file = "infer/examples/multi/story.txt"
output_dir = "tests"

[voices.town]
ref_audio = "infer/examples/multi/town.flac"

[voices.country]
ref_audio = "infer/examples/multi/country.flac"

文本标记语法

在文本文件中,你可以使用特殊标记来切换不同的语音风格,例如:

[main]这是一个关于小镇的故事。

[town]我们小镇有一个悠久的历史。

[country]而在乡村,生活则完全不同。

这种灵活的标记系统让你可以轻松创建对话场景或多角色叙事。完整的多风格示例参见story.tomlstory.txt

性能优化:从研究到生产的部署方案

F5-TTS不仅在研究环境中表现出色,还提供了企业级的部署方案,满足生产环境的性能需求。

TensorRT-LLM加速

通过TensorRT-LLM部署,F5-TTS的推理性能得到显著提升。以下是不同部署方式的性能对比:

模型 并发数 平均延迟 RTF 模式
F5-TTS Base (Vocos) 2 253 ms 0.0394 Client-Server
F5-TTS Base (Vocos) 1 (Batch_size) - 0.0402 Offline TRT-LLM
F5-TTS Base (Vocos) 1 (Batch_size) - 0.1467 Offline Pytorch

可以看到,使用TensorRT-LLM后,相对实时因子(RTF)从0.1467降至0.0402,性能提升近3倍。

快速部署步骤

使用Docker Compose可以快速启动TensorRT-LLM服务:

MODEL=F5TTS_Base docker compose up

服务启动后,可以使用HTTP客户端进行测试:

python3 src/f5_tts/runtime/triton_trtllm/client_http.py

详细的部署指南参见triton_trtllm/README.md

模型训练与微调

对于有特定需求的用户,F5-TTS提供了完整的训练和微调流程,使你能够根据自己的数据集定制语音合成模型。

数据准备

首先需要准备训练数据,项目提供了多个数据集的处理脚本:

# 准备Emilia数据集
python src/f5_tts/train/datasets/prepare_emilia.py

# 准备Wenetspeech4TTS数据集
python src/f5_tts/train/datasets/prepare_wenetspeech4tts.py

# 准备LibriTTS数据集
python src/f5_tts/train/datasets/prepare_libritts.py

如果你有自己的数据集,可以使用通用脚本生成metadata.csv:

python src/f5_tts/train/datasets/prepare_csv_wavs.py

开始训练

使用Hugging Face Accelerate启动训练:

# 配置accelerate
accelerate config

# 启动训练
accelerate launch src/f5_tts/train/train.py --config-name F5TTS_v1_Base.yaml

微调现有模型

F5-TTS还提供了一个方便的Gradio界面用于模型微调:

f5-tts_finetune-gradio

完整的训练和微调指南参见train/README.md

实用工具与资源

F5-TTS生态系统提供了丰富的工具和资源,帮助用户充分发挥模型的潜力。

语音编辑工具

项目提供了语音编辑功能,可以对生成的语音进行精细调整:

python src/f5_tts/infer/speech_edit.py

评估工具

F5-TTS包含多种评估工具,用于评估合成语音的质量:

# 评估LibriSpeech测试集
python src/f5_tts/eval/eval_librispeech_test_clean.py

# 评估UTMOS分数
python src/f5_tts/eval/eval_utmos.py

评估工具的详细说明参见eval/README.md

API接口

对于开发者,F5-TTS提供了简洁的API接口,可以轻松集成到自己的应用中:

from f5_tts.api import F5TTS

f5tts = F5TTS()
wav, sr, spec = f5tts.infer(
    ref_file="path/to/reference_audio.wav",
    ref_text="参考音频的文本内容",
    gen_text="要合成的文本",
    output_dir="output"
)

API详细定义参见api.py

总结与展望

F5-TTS作为一款强大的开源语音合成工具,以其流畅自然的语音质量和灵活的使用方式,为用户提供了卓越的语音合成体验。无论是简单的语音生成需求,还是复杂的多风格语音合成,F5-TTS都能满足。

通过本文介绍的安装步骤、基础使用和进阶技巧,相信你已经能够轻松上手F5-TTS。随着项目的不断发展,我们期待F5-TTS在语音合成领域发挥更大的作用,为用户带来更优质的语音合成体验。

如果你在使用过程中遇到问题或有任何建议,欢迎参与项目的社区讨论。祝你的语音合成之旅愉快!

登录后查看全文
热门项目推荐
相关项目推荐