GPT-SoVITS 语音克隆完整教程:从 5 秒样本到第一条合成语音
【免费下载链接】GPT-SoVITS1 min voice data can also be used to train a good TTS model! (few shot voice cloning)项目地址: https://gitcode.com/GitHub_Trending/gp/GPT-SoVITS
你有一段朋友 5 秒的录音,想让它来读你的视频文案——GPT-SoVITS 语音克隆就是干这个的。它是个免费开源的 TTS(文本转语音)系统:5 秒样本直接零样本合成,1 分钟数据可微调出专属音色,支持中、英、日、韩、粤跨语言。做内容的、写代码的,第一个小时就能出声。
🔊 能力速览:GPT-SoVITS 语音克隆能帮你干成的 4 件事
给视频或播客配一段像本人的声音。不用录完整条音频。丢进 5 秒参考录音,写上它对应的文字,再输入要合成的文本,系统立刻用这个音色读出来——这就是零样本合成,全程零训练。
把某个音色调得更像本人。零样本的相似度有天花板。如果你手里有 1 分钟左右这个人的干净录音,可以做少样本微调:先切分、转写、校对,再训练 GPT 和 SoVITS 两个模型,合成时改选自己训练的权重即可。
让中文样本说出英文。跨语言推理是内置能力,参考音频和目标文本可以是不同语言。语言代码很好认:zh 中文、en 英文、ja 日文、ko 韩文、yue 粤语,合成界面上直接选。
从一段长音频里做出训练集。WebUI 里自带人声分离(从 BGM 里抠出人声)、自动切片、多语言 ASR 识别和文本校对界面,新手不需要自己装一堆辅助工具,tools/asr/ 目录下的识别模块都整合进来了。
🚀 最短路径出声音:安装步骤 + 零样本合成
三个平台走同一条主线,先克隆仓库,装好 conda 后创建 3.10 的 Python 环境,再跑官方安装脚本。脚本会按你指定的显卡和模型源自动装好 PyTorch、依赖包,并下载 GPT-SoVITS 主模型、G2PW 文本模型等文件:
git clone https://gitcode.com/GitHub_Trending/gp/GPT-SoVITS cd GPT-SoVITS conda create -n GPTSoVits python=3.10 conda activate GPTSoVits bash install.sh --device CU128 --source HF平台差异就一句话:Windows 用 install.ps1(参数写法相同),macOS 把设备改成 MPS 或 CPU(官方提示 Mac GPU 训练质量偏低,建议 CPU)。国内网络把 --source 换成 HF-Mirror 或 ModelScope,想要人声分离工具就加 --download-uvr5。
硬件门槛不高:入门 4 核 CPU + 8GB 内存 + GTX 1060 级显卡;推荐 8 核 + 32GB + RTX 3090;磁盘至少留 20GB 放模型和数据。
装完不用训练就能先出声音:运行python webui.py打开主界面,进入推理区,上传 5 秒左右的人声参考音频,把这段音频里说的原话逐字填进参考文本框,选好参考语言和目标语言,输入正文,点合成。第一次点"不训练直接推底模"即可,系统会用预训练模型直接推理,产物 wav 存在输出目录里,听起来已经接近本人。
🎙️ 把声音调得更像:1 分钟微调的数据检查单
想从"有点像"到"很像",靠的是微调。先拿这份检查单过一遍数据:
- 时长 1 分钟上下即可,宁少而干净,勿多而嘈杂
- 录音无背景音乐、无混响、无口水音,情绪自然
- 覆盖不同语速和语气,别全用同一种念法
- 文本逐字对应,数字、标点都按实际口播写
- 语料清单每行一条,竖线分隔四段:音频路径 | 说话人 | 语言代码 | 文本,说话人名字全程保持一致
训练到合成一共五步:
- 预处理:主界面 1-0A 上传原始长音频,用人声分离去掉伴奏,再用 1-0B 自动切片成短句,切完可以人工删掉不合格片段
- 转写校对:切片结果丢给 ASR 批量识别,打开标注界面逐条核对,错字、漏字都在这里改掉
- 训练 GPT:选版本(新手选 v2 系列,追求质量选 v3/v4 或 v2Pro),设好批大小和轮数,开始训练,产物落在 logs 目录
- 训练 SoVITS:用同批数据再训声学模型,配置参考 configs 目录 里的 s1.yaml、s2.json 等文件
- 合成验证:回到推理页,GPT/SoVITS 权重下拉框里选自己刚训的模型,换不同文本各合几条,和原声对比
🎛️ 调优清单:按现象对号入座
声音不像本人
- 参考音频换成 5–10 秒、单人单音色、无噪声的片段,且参考文本逐字准确
- 目标语言与样本语言差异大时,换成该语言训练数据更充足的版本(如 v3/v4)再试
生成太慢
- 确认推理真的跑在 GPU 上:终端里 nvidia-smi 应在合成时看到显存占用
- 长文本按换行拆成短句逐段合成,比一次性喂长文更稳也更快
- 追求速度可试 v2ProPlus 权重,官方在 4090 上测得 RTF 约 0.014
显存不够
- 开启 fp16 半精度:config.py 里 is_half 默认读环境变量,支持 fp16 的显卡保持开启
- 降低批大小、加大梯度累积步数,configs 目录 下各 yaml 里都有对应参数
- 实在紧张就换 CPU 训练或选更轻的版本
音质差、有杂音
- 先把素材用人声分离过一遍再切片,别让伴奏混进训练集
- 参考音频重录一遍,环境安静、距离麦克风约一拳
- 换版本对比一次,v2Pro 与 v3 的音色质感差别明显
🛠️ 报错自救:按现象查原因
现象:安装脚本报 "Nvidia Driver Not Found",或装完 CUDA 相关报错可能原因:NVIDIA 驱动版本与所选 CU126/CU128 不匹配 解法:先查驱动支持的 CUDA 版本,再选对应 --device 重装 PyTorch:
nvidia-smi现象:pip 阶段依赖冲突、包反复覆盖可能原因:复用了旧环境,残留包互相打架 解法:整个环境删掉重建(conda remove 加 --all),新环境里只跑官方安装脚本,不要手工混装
现象:合成结果静音、破音或完全不像可能原因:参考音频损坏/过短,或参考文本与音频内容对不上 解法:换一段 5 秒以上清晰录音,逐字核对参考文本,语言选项与内容一致后再合成
现象:训练跑一半中断,日志报分布式或断点错误可能原因:单卡被占、断点文件与版本不兼容 解法:训练前确认显存空闲,换新的实验名从干净断点重启,不要混用不同版本的 logs
下一步:从一次克隆到稳定产出
- 第一次合成成功后,把"参考音频 + 参考文本 + 语言组合"记成模板,之后同音色任务直接复用,省去每次试错的来回
- 长文案按句拆分、逐段合成再拼接,每段单独试听,比长句一次成型更可控
- 某个音色要反复用时,值得花十分钟做一轮微调并把模型权重归档,推理页直接选自己的权重,跨语言稳定性也会更好
- 参数拿不准时翻 docs/cn 的中文文档,或在 GPT_SoVITS/inference_webui.py 附近看默认取值
GPT-SoVITS 的用法就是这样两条线:零样本管"马上能用",微调管"长期好用"。先用最短路径出第一条声音,再按数据检查单把音色磨到位,你的语音克隆工作流就搭起来了。
【免费下载链接】GPT-SoVITS1 min voice data can also be used to train a good TTS model! (few shot voice cloning)项目地址: https://gitcode.com/GitHub_Trending/gp/GPT-SoVITS
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考