Video: 5分钟搞定!手把手教你本地部署F5-TTS。附一键本地部署包

F5-TTS 是一款开源的文本转语音 (TTS) 工具,以其快速克隆声音、支持多种语言以及能够表达情感等特点受到关注。本文将为您提供 F5-TTS 的本地部署指南和使用技巧。

F5-TTS 简介

F5-TTS 是一款基于深度学习技术的声音克隆工具,能够在短时间内(仅需2秒或15秒的音频样本)精确克隆目标声音的音色、语调和情感表达。它是 E2-TTS 的改进版本,推理速度更快。该工具开源免费,用户可以根据需求进行定制和优化。

主要特点:

  • 快速克隆能力:仅需少量参考音频即可复刻音色。
  • 高质量音频:生成的语音在音色细腻度和情感传达上效果逼真。
  • 多语言支持:支持中英文混合输入及多种其他语言,如法语、意大利语、日语等。
  • 情感和风格调整:支持调整语速、音高、情感(如“Shouting”风格)。
  • 用户友好的操作界面:提供 Gradio WebUI,方便操作。
  • 低资源占用:部分资料提及显存占用较低,适合本地部署。
  • 零样本生成能力:无需特定训练样本即可生成高质量语音。

安装部署

本地部署 F5-TTS 通常涉及环境准备、代码克隆、依赖安装和模型下载等步骤。以下是综合性的安装指南:

前置条件

  • Python 环境:强烈建议使用 Python 3.10 版本。
  • Git:用于克隆项目代码。
  • Conda (推荐):用于创建和管理独立的 Python 虚拟环境,避免依赖冲突。
  • NVIDIA GPU 及 CUDA (推荐):为了获得更好的性能和加速,建议使用 NVIDIA 显卡并安装相应的 CUDA 工具包。
  • 科学上网环境:F5-TTS 需要从 Hugging Face 等网站下载模型,国内用户可能需要配置代理。
  • Pinokio
    对于咱们小白用户,我强烈推荐一个“神器”——Pinokio!它就像一个AI软件的“应用商店”,可以帮我们一键安装很多复杂的AI工具,自动处理那些烦人的环境配置问题。
    你需要先去 Pinokio 的官网 下载Pinokio
    如果你不想用 Pinokio,或者之后 Pinokio 安装失败了,也可以选择手动安装。但这需要你对 Python (需要 3.10 版本)、Git 和 命令行 有一定的了解。还需要自己配置 PyTorch 环境。

方法一:使用 Pinokio (小白首选)

  1. 打开 Pinokio: 安装好后,启动 Pinokio。第一次打开里面可能是空的。
  2. 发现 F5-TTS: 点击 "Discover" (发现) 按钮。在搜索框里输入 F5-TTS 或者 E2F5 TTS。
  3. 下载和安装: 找到 F5-TTS (可能会显示为 E2F5 TTS),点击它,然后点击 "Download" (下载),再点击 "Install" (安装)。
  4. 等待安装: 接下来,Pinokio 会自动帮你下载所有需要的东西,包括 F5-TTS 本身和它依赖的库。这个过程可能需要一些时间,取决于你的网络和电脑配置。
    中途可能会弹出一些提示框,比如问你是否要下载 CUDA (如果你的 N 卡需要),或者其他组件。通常,你只需要一直点 "Yes" 或 "OK" 或 "下一步" 就行了,让 Pinokio 帮你搞定一切!
  5. 启动 F5-TTS: 安装完成后,F5-TTS 会出现在 Pinokio 的主界面列表里。选中它,然后点击 "Launch" (启动)。
  6. 打开Web界面: 等待一小会儿 (可能一两分钟),Pinokio 窗口里会加载出 F5-TTS 的操作界面 (基于 Gradio)。为了方便操作,你可以点击界面右上角通常会有的“在新窗口/标签页中打开”的按钮,把它在你的浏览器里打开,界面更大更清晰!

通用安装步骤

  1. 克隆 F5-TTS 仓库 在合适的目录下打开终端,执行以下命令克隆项目代码:

    Bash

    git clone https://github.com/SWivid/F5-TTS.git
    cd F5-TTS
    
  2. 创建并激活 Conda 虚拟环境 (推荐)

    Bash

    conda create -n f5-tts python=3.10
    conda activate f5-tts
    
  3. 安装 PyTorch 及相关库 根据您的 CUDA 版本选择合适的 PyTorch 安装命令。例如,使用 CUDA 11.8:

    Bash

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

    或者使用PyTorch 2.4 版本(例如,配合 CUDA 12.4):

    Bash

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

    注意: PyTorch 版本和 CUDA 版本的兼容性非常重要,请根据您的硬件和驱动情况选择。

  4. 安装项目依赖 在项目根目录下,执行以下命令之一安装所需的依赖包:

    Bash

    pip install -r requirements.txt
    

    或者,进行可编辑安装 (editable install):

    Bash

    pip install -e .
    
  5. 安装 FFmpeg (如果需要) PyTorch 可能需要 FFmpeg 来处理非 WAV 格式的音频文件。如果系统中未安装,请根据您的操作系统进行安装并确保其在系统路径中。

    • macOS (使用 Homebrew): brew install ffmpeg
    • Windows: 从 FFmpeg 官网下载,解压并将 bin 目录添加到系统环境变量 Path 中。
    • Linux (例如 Ubuntu/Debian): sudo apt update && sudo apt install -y ffmpeg
  6. 下载预训练模型 首次启动时,F5-TTS 会尝试从 Hugging Face 下载所需的预训练模型。确保您的网络环境可以访问 Hugging Face。议手动下载模型到本地指定路径,以避免启动时报错。

    • 可以配置环境变量 HF_ENDPOINT=https://hf-mirror.com 来使用 Hugging Face 的国内镜像。

特定平台和部署方式

  • macOS:安装步骤与通用步骤类似,注意 Python 和 FFmpeg 的安装方式。
  • Windows:安装时需注意文件路径不要包含中文或空格。FFmpeg 的安装和环境变量配置也需特别留意。
  • Linux (包括腾讯云 GPU):可以参照通用步骤。在腾讯云等 GPU 云服务器上部署时,可能需要先卸载预装的 PyTorch,再安装指定版本。
  • Docker 和 Kubernetes (k8s):F5-TTS 也支持通过 Docker 部署,甚至可以在 Kubernetes 环境中运行。这对于需要容器化部署的用户来说非常有用。部署时需要注意 GPU 的正确配置和访问权限,例如在 k8s 中配置 nvidia-device-plugin

启动 WebUI 服务

安装完成后,可以使用以下命令启动 Gradio WebUI:

Bash

f5-tts_infer-gradio

可以指定端口和主机,例如:

Bash

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

如果希望生成一个公开的分享链接 (通过 Gradio Live),可以使用:

Bash

f5-tts_infer-gradio --share

也可通过运行 Python 脚本来启动,例如:

Bash

python gradio_app.py

或在特定路径下运行:

Bash

cd src/f5_tts/infer/
python infer_gradio.py

启动成功后,终端会显示本地访问 URL (通常是 http://127.0.0.1:7860)。

使用技巧

基本使用 (WebUI)

  1. 文本输入 (Text):在文本框中输入想要转换为语音的文本,支持中英文混合。
  2. 参考音频上传 (Reference Audio):上传一段清晰的人声作为声音克隆的参考,建议时长在 2-15 秒之间。支持 WAV、MP3 等常见格式。
  3. 生成语音 (Generate):点击按钮开始生成语音,完成后可在线播放或下载。

高级功能与技巧

  • 批量处理 (Batch Processing):上传包含多行文本的 TXT 文件进行批量语音生成。
  • 长文本处理:对于较长的文本,建议按自然段落分割处理以获得更佳效果。
  • API 使用:可以通过添加 --api 参数启动服务,以便通过 API 调用 F5-TTS。
  • 多语言模型切换:默认模型主要支持中英文。如需使用其他语言(如法语、日语等),需要修改 src/f5_tts/infer/infer_gradio.py 文件中的 DEFAULT_TTS_MODEL_CFG 配置,指向对应语言的模型和词汇表文件路径 (通常托管在 Hugging Face)。修改后需重启服务,并确保网络畅通以下载新模型。
  • 与 pyVideoTrans 对接:可以将 F5-TTS 与 pyVideoTrans 等视频翻译配音软件对接。需要在 F5-TTS 启动后,在 pyVideoTrans 中配置 F5-TTS 的 API 地址,并指定参考音频文件及其对应文字。
  • 局域网访问:默认情况下,Gradio 服务可能只允许本机访问。若需在局域网内其他设备访问,可能需要修改 infer_gradio.py 文件以允许外部访问,例如设置 share=True 或在启动命令中指定 --host 0.0.0.0,并可能需要修改代码以正确处理临时文件路径。
  • 内网穿透 (Ngrok):如果需要在公网访问本地部署的 F5-TTS 服务,可以使用 Ngrok 等内网穿透工具。

常见问题与故障排查

  • 模型下载失败/Hugging Face 连接问题
    • 确保科学上网环境配置正确,并开启全局或系统代理。
    • 配置 Hugging Face 镜像地址,例如 export HF_ENDPOINT=https://hf-mirror.com
    • 检查 Git SSL 验证设置:git config --global http.sslVerify false (临时解决方法,注意安全风险)。
    • 可以修改 utils_infer.py 中的 snapshot_downloadhf_hub_download 函数调用,添加 local_files_only=True 参数,以在模型已下载到本地后禁止程序再次尝试从网络下载 (需确保模型已完整下载)。
  • 端口冲突:如果端口 7860 已被其他程序占用,F5-TTS 将无法启动。关闭占用该端口的程序或在启动 F5-TTS 时指定其他端口。
  • PyTorch 版本与 CUDA 不兼容 / GPU 无法使用
    • 确保安装的 PyTorch 版本与您的 CUDA驱动版本兼容。
    • 在容器化部署 (如 Docker, k8s) 时,确保容器已正确配置以访问宿主机的 GPU。
  • conda: command not found:通常是 Conda 的路径未正确添加到系统环境变量中。需要找到 Miniconda/Anaconda 的安装路径,并将其下的 bin (Linux/macOS) 或 Scripts (Windows) 目录添加到 PATH 环境变量中,然后重新加载配置文件 (如 .zshrc, .bashrc) 或重启终端。
  • 缺少 ffmpeg 工具:按照前述安装步骤为您的操作系统安装 FFmpeg。
  • 路径问题:在 Windows 系统上,避免在包含中文或空格的路径下安装或运行 F5-TTS。
  • gradio_client 问题:如果 API 对接出现问题 (如 detail: "Not found"),尝试更新 gradio_clientpip install --upgrade gradio_client
  • 启动命令差异:不同的安装方式或版本可能对应不同的启动命令 (如 f5-tts_infer-gradio vs python gradio_app.py),请参考您所使用的具体教程或项目文档。

注意事项

  • 法律与道德:在使用声音克隆技术时,请务必遵守相关法律法规和道德规范,尊重他人隐私权和知识产权,不要用于非法或不当目的。
  • 参考音频质量:参考音频的清晰度和质量直接影响克隆效果。
  • 终端窗口:通过 API 使用时,即使关闭了 WebUI 浏览器界面,也不能关闭启动 F5-TTS 服务的终端窗口。
  • 定期更新:建议定期从 GitHub 拉取最新代码 (git pull) 以获取最新功能和 bug 修复。

希望本文档能帮助您顺利部署和使用 F5-TTS。具体细节可能因 F5-TTS 版本更新而有所不同,建议同时参考官方 GitHub 仓库获取最新信息。

一键部署包

点击这里下载一键部署包

提取码yeuX

B站视频
Video: 5分钟搞定!手把手教你本地部署F5-TTS。附一键本地部署包