ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

GPT-SoVITS完整指南:用1分钟语音克隆一个能用的声音

GPT-SoVITS完整指南:用1分钟语音克隆一个能用的声音 GPT-SoVITS完整指南用1分钟语音克隆一个能用的声音【免费下载链接】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-SoVITSGPT-SoVITS 是一个少样本语音克隆 TTS 项目。它解决的问题很具体你手里只有几分钟甚至几秒的某个人声音素材但想把这个声音变成一个可以输入文本、输出语音的模型。5 秒参考音频就能零样本合成1 分钟音频可以微调出专属音色模型。 先说结论值不值得用值得。它覆盖了从音频切片、降噪、ASR 标注到模型训练、推理的完整流程全在 WebUI 里点完。零样本模式下 5 秒音频即可出语音少样本模式下 1 分钟干净音频就能训出相似度不错的个人模型。适合播客作者、独立开发者、内容创作者。上手成本是几行 conda 命令加一个安装脚本有 NVIDIA 显卡的话从克隆仓库到第一次合成成功大约 20 分钟。 从零到出效果第一次合成走查第1步克隆仓库并准备环境git clone https://gitcode.com/GitHub_Trending/gp/GPT-SoVITS cd GPT-SoVITS conda create -n GPTSoVits python3.10 conda activate GPTSoVits bash install.sh --device CU128 --source ModelScope --download-uvr5install.sh 一条命令会装好 ffmpeg、cmake、对应 CUDA 版本的 PyTorch 和全部 Python 依赖并自动下载预训练模型到GPT_SoVITS/pretrained_models、G2PW 中文多音字模型到GPT_SoVITS/text。Windows 用户把脚本换成install.ps1或者直接下载官方整合包双击go-webui.bat就行。第2步启动 WebUIpython webui.py浏览器打开后界面分成数据准备1A、模型训练1B、推理1C等 Tab推理 Tab 会再开一个独立页面默认端口 9872。第3步零样本合成第一条语音打开1-GPT-SoVITS-TTS/1C-推理页面SoVITS 和 GPT 下拉框里直接选预训练底模无需训练。上传一段 5 秒左右的参考音频填写这段音频对应的参考文本再输入你要合成的目标文本并选择文本语言点合成。几秒钟后就能得到用参考音色读出的语音。第4步第一次微调把训练音频放进一个目录在数据准备 Tab 按顺序执行填音频路径 → 切割音频按音量把长音频切成小段→ 降噪可选→ ASR 自动转写 → 校对标注。标注完成后进入训练 Tab依次跑 1a 文本分词与特征提取、1b 语音自监督特征提取、1c 语义 Token 提取然后点 GPT 训练、SoVITS 训练。训练完的权重会出现在下拉框里切到推理页面选上它输入同样的文本即可对比微调前后的效果。️ 能力拆解三个核心功能零样本合成5秒音频即可出语音原理是把参考音频和参考文本作为提示配合预训练底模直接生成。文本侧有完整的前端做规范化和音素转换中文多音字由 G2PW 模型处理。效果边界在参考音频5 秒音频能定下音色基调但语速和情绪会跟着参考音频走参考音频里如果混着 BGM 或回声合成质量会明显下降先过一遍 UVR5 人声分离和降噪再拿去当参考会稳很多。它支持跨语言参考音频用中文目标文本可以写英文、日文、韩文、粤语。少样本微调1分钟数据训个人模型训练分两段GPTs1负责把文本映射成语义 token 序列SoVITSs2负责把 token 变成波形后者用的是 BigVGAN 声码器。相当于 GPT 先学说什么SoVITS 再学怎么听起来像这个人。效果边界有两点一是训练集质量决定上限官方说明里明确 v1/v2/v2Pro 系列对平均音质较低的训练集更宽容v3/v4 则要求更干净的数据二是 v4 原生输出 48kHz 音频v3 只有 24kHz听感上 v3 会更闷。推理速度官方给出的参考数据README 里给了 v2 ProPlus 版本的 RTFRTX 4060Ti 上 0.0284090 上 0.0141400 词约 4 分钟语音实际推理耗时 3.36 秒M4 CPU 上 0.526。换算下来8GB 级别的消费级显卡就能做到边合成边听的体验CPU 能跑但明显慢。 真实用法一个做技术播客的作者每期节目开头都是他自己的口播。他用 WebUI 的人声分离把一期节目里的 BGM 去掉再把 5 分钟音频切片、降噪、ASR 自动转写校对掉几个识别错的多音字凑出约 1 分钟的训练集训了一个自己的 GPT-SoVITS 模型。之后每期节目的口播、片尾和社群通知都是模型用他自己的声音念出来的语速和情绪通过换参考音频来微调。一个独立游戏开发者要给 20 个 NPC 写语音预算里没有配音费。他先用零样本模式拿演员朋友手机录的 10 秒干声当参考把全部台词过了一遍筛选掉读错的段落对主角这一个角色他让对方在安静房间补录了 1 分钟素材做了微调主角音色明显比零样本更稳NPC 们则继续用零样本加不同参考音频区分开来。一个做内部工具的后端开发者想让团队的客服工单系统支持语音播报。他没有重新造轮子而是直接调用仓库里的 api.py 起一个本地推理服务工单状态变化时把文本 POST 过去返回的合成音频直接推给前端播放参考音频固定用团队选定的一个声音整个服务跑在一台 12GB 显存的服务器上。⚠️ 踩坑实录Q1训练时显存不够报 OOM 怎么办先把 batch_size 减半。WebUI 的默认 batch size 是按显存大小推算的v3/v4 默认按 显存GB/8 给显存紧张时手动调小是最直接的。同时确认走的是半精度训练v3/v4 的 SoVITS 训练 epoch 默认只有 2最多 16别为了多训一点把参数往上堆。Q2中文合成时个别字读音奇怪像日语发音十有八九是 G2PW 模型没放对位置。把它解压后重命名为G2PWModel放到GPT_SoVITS/text目录下重启 WebUI。install.sh 成功跑完的话这一步已经帮你做好了手动装环境的人最容易漏。Q3合成出来的声音发闷或者有金属音这是版本混用的典型症状。v3 原生输出 24kHz 音频v4 为了修掉 v3 非整数倍上采样导致的金属音、改成原生 48kHz官方定位 v4 直接替代 v3。推理时不要混用不同版本的底模和微调权重LoRA 权重加载时如果对应底模缺失界面会直接报底模缺失无法加载相应 LoRA 权重看到这条提示就去GPT_SoVITS/pretrained_models补下载对应版本的底模。Q4服务器断网ASR 用不了FunASR 系列模型默认在首次使用时自动下载。离线机器上把 ASR 模型、VAD 模型、标点模型预先下到tools/asr/models目录模型来源见 README 的预训练模型一节需要英语或日语转写的话把 faster-whisper-large-v3 放到同一目录。UVR5 人声分离的权重放tools/uvr5/uvr5_weights。Q5CPU 上能凑合用吗能跑但要有预期。官方数据 M4 CPU 的 RTF 是 0.526合成 4 分钟语音大约要花 2 分钟批量干活不现实。想快就用 GPU或者在 WebUI 里开启 batched 推理它会自动切换到 inference_webui_fast.py长文本合成速度会好一截。结尾现在就可以克隆仓库、跑一遍 install.sh先拿 5 秒音频体验零样本再录 1 分钟素材训一个自己的模型。克隆地址https://gitcode.com/GitHub_Trending/gp/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),仅供参考
返回列表