
录 3 分钟音频让 F5-TTS 克隆出你的专属声线【免费下载链接】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 就能用 TA 的声线读故事、配旁白。本文带你用 F5-TTS 搭一套自定义语音库从录音、数据准备到模型微调最后用自己的声音朗读任意文本。能力速览底层用「流匹配」建模——把一团噪声一步步推向目标语音文本和音频都会先转成拼音和梅尔频谱可以理解为声音的指纹图再喂给模型。了解这一句就够剩下交给命令。能做什么最低门槛大致耗时零样本克隆一段参考音频 文本一块 CUDA GPU 一句干净的参考音频合成一段约分钟级微调专属语音库数分钟多句录音 一块 CUDA GPU预处理分钟级微调视数据量数小时起长文本 / 多说话人 / 实时服务在上面基础上加脚本或容器依部署方式而定 从录音到首次合成的完整路径按顺序做就能跑通每步之间几乎没有坑。环境安装先建一个干净的 Python 3.11 环境装好 FFmpeg 和与本机 CUDA 匹配的 PyTorch / torchaudio再以可编辑模式安装仓库可编辑模式才能做训练与微调。conda create -n f5-tts python3.11 conda activate f5-tts conda install ffmpeg # 先装好与本机 CUDA 匹配的 torch / torchaudio git clone https://gitcode.com/gh_mirrors/f5/F5-TTS cd F5-TTS pip install -e .装完后敲f5-tts_infer-cli能打印参数帮助就说明链路通了。参考音频录制规格录库用的音频规格跟着代码里的硬约束走采样率模型目标是24000 Hz录完可重采样到这个值。每条时长落在 0.3 秒到 30 秒之间最稳超出区间的样本训练时会被跳过建议一句一段。内容多录几句不同语气、节奏的话覆盖数字、停顿和情绪变化。形式单声道、背景安静尽量别带音乐和回声。零样本合成时参考音频会被自动裁到约 12 秒并做响度归一所以给一句最干净的即可。数据准备把你录好的每一句都记进一张metadata.csv列名固定为audio_file|text音频路径写绝对路径再交给数据准备脚本它会统一转成拼音、统计时长并写出可训练的raw.arrow。python src/f5_tts/train/datasets/prepare_csv_wavs.py metadata.csv data/my_voice_pinyin输出目录会生成raw.arrow、duration.json、vocab.txt并打印总时长小时供核对。目录名要满足data/{dataset_name}_{tokenizer}这里就是data/my_voice_pinyin。微调确认数据目录就位后启动微调。不带--pretrain时脚本会自动从预训练权重起步权重最终写进ckpts/my_voice/。f5-tts_finetune-cli \ --exp_name F5TTS_v1_Base \ --finetune \ --dataset_name my_voice \ --tokenizer pinyin \ --epochs 100 \ --batch_size_per_gpu 3200 \ --learning_rate 1e-5 \ --logger tensorboard每 5000 步存一份model_last.pt、每 50000 步存一份model_{步数}.pt可以边训边用model_last.pt试听。显存吃紧时把--batch_size_per_gpu默认按“帧”计调小、再用--grad_accumulation_steps把等效批量补回来。想看曲线就pip install tensorboard后用--logger tensorboard。首次合成先用默认模型、不带-p跑一次确认环境再带上你微调的权重试听效果。f5-tts_infer-cli \ -p ckpts/my_voice/model_last.pt \ -r data/ref/your_ref.wav \ -s 参考音频里说的每句话逐字对上。 \ -t 这是要合成的新句子。 \ -o tests -w my_voice.wav \ --nfe_step 32 --speed 1.0tests/下会生成my_voice.wav就是你这版声线的结果。参考文本-s务必逐字对应否则音色和韵律会跑偏不填-s会现场调用 ASR 转写多占一块显存。 参数速查推理与训练关键项参数作用推荐值显存 / 速度影响speed生成语速倍率默认 1.00.8~1.2 间微调越大越快越赶越小越舒缓不占显存nfe_step去噪步数从噪声还原到声音要走几步默认 32求快可降到 16步数越多越稳、越慢不占额外显存cfg_strength无分类器引导强度控制对参考的贴合度默认 2.0影响音色贴合不占显存sway_sampling_coefSway 采样系数用于改善性能默认 -1.0基本无影响fix_duration固定总时长秒默认不填按文本长度自动估算用于卡时长场景learning_rate微调学习率默认 1e-5数据少可再调小过大易发散过小收敛慢epochs训练轮数默认 100小数据建议更小轮数越多耗时越长batch_size_per_gpu每卡批量默认按“帧”计默认 3200越大越吃显存max_samplesframe 批量下每批最多条数默认 64限制单批最长grad_accumulation_steps梯度累积步数默认 1显存不足时等效加大批量用速度换空间seed采样随机种子固定可复现默认 None基础infer-cli未暴露--seed在 eval、语音编辑 里可设无 进阶玩法多风格 / 多说话人用一份 TOML 定义多个说话人正文里用[名字]标签切换音色和语速。仓库自带多风格示例把main、town、country换成你自己的参考音频即可。model F5TTS_v1_Base ref_audio infer/examples/multi/main.flac gen_file infer/examples/multi/story.txt # 正文里用 [town]/[country]/[main] 切换 [voices.town] ref_audio infer/examples/multi/town.flac speed 0.8运行f5-tts_infer-cli -c 你的.toml即可。语音编辑语音编辑脚本 用来改已合成音频的某几秒改脚本顶部的audio_to_edit要改的音频、origin_text原句、target_text改后整句、parts_to_edit要替换片段的起止秒数和fix_duration替换片段的固定时长再运行。定位字符时间戳需要先装ctc-forced-aligner它按注释里的命令先跑一遍对齐。实时服务实时部署 走 Triton TensorRT-LLM适合要并发和更低延迟的场景。cd src/f5_tts/runtime/triton_trtllm MODELF5TTS_v1_Base docker compose up python3 client_http.py起服务后用client_http.py/client_grpc.py调用benchmark.py可测延迟。用自定义 checkpoint 时在run.sh里设ckpt_file和vocab_file并保证模型版本与结构匹配。 问题排查现象可能原因解法语音不自然、像在读稿参考文本-s与音频没逐字对应数据太少nfe_step偏低核对参考文本多录几句再微调nfe_step提到 32配合cfg_strength微调发音错误、多音字读错中文未走拼音分词词表缺字保持--tokenizer pinyin默认即拼音核对拼音词表是否覆盖难读词补进训练样本训练过拟合、只认训练句数据量小却跑了太多轮调小epochs、补数据数据少时把learning_rate再调小早期 checkpoint 可尝试use_emaFalse再试听收尾录几分钟声音、跑一条命令就能让 F5-TTS 长出你自己的声线。项目地址gitcode.com/gh_mirrors/f5/F5-TTS。【免费下载链接】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),仅供参考