ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

GPT-SoVITS 云端语音克隆完全指南:在 Colab 免费 GPU 上微调你的专属音色

GPT-SoVITS 云端语音克隆完全指南:在 Colab 免费 GPU 上微调你的专属音色 GPT-SoVITS 云端语音克隆完全指南在 Colab 免费 GPU 上微调你的专属音色【免费下载链接】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 模型再用任意文本生成语音。本地训练最怕的两件事——显存不够、依赖打架——搬到 Colab 上就迎刃而解了免费 GPU 显存通常够跑默认批量conda 环境在云端隔离干净一条安装脚本把 CUDA 依赖和预训练权重全部就位。这份指南不按从头到尾流水线的顺序讲而是把读者分成三条轨道只想快速试听克隆效果的、打算用自己的录音微调音色的、准备把模型导出部署的。每条轨道只讲你需要的事互相独立可以只读其中一节。环境准备Colab 里一条命令装齐全部依赖无论走哪条轨道环境都是同一个搭法。先拿到代码。Colab 的终端里执行也可以直接用仓库自带的 Colab-WebUI.ipynb 模板它会自动完成大部分初始化git clone https://gitcode.com/GitHub_Trending/gp/GPT-SoVITS cd GPT-SoVITS然后建一个隔离的 Python 环境避免依赖和其他 Notebook 冲突conda create -n gptsovits python3.10 -y conda activate gptsovits最后运行仓库自带的安装脚本bash install.sh --device CU126 --source HF --download-uvr5这个脚本会做三件事装好 ffmpeg、torch 等依赖从你选的源下载预训练模型到GPT_SoVITS/pretrained_models/--download-uvr5追加下载人声分离用的 UVR5 权重。参数怎么定--device选你运行环境的 CUDA 版本可选CU126、CU128、ROCM、MPS、CPU。Colab 的默认镜像一般是 CUDA 12.x拿不准就先试CU126--source决定模型从哪个站拉支持HF、HF-Mirror、ModelScope三种网络不顺就换源重试。装完检查GPT_SoVITS/pretrained_models/下是否已有chinese-hubert-base、gsv-v2final-pretrained等目录有就说明环境通了。硬件方面免费档 GPU8 GB 级显存跑默认配置没问题磁盘留 15 GB 以上内存 12 GB 左右即可。你真正要自己准备的只有一样东西干净的录音素材。轨道 A用预训练模型直接克隆一个音色试听不想训练的人可以直接进这条路GPT-SoVITS 的预训练权重本身就支持参考音频 参考文本 → 合成的零样本音色迁移。启动 WebUIexport is_shareTrue python webui.py 中文is_share环境变量会让 Gradio 生成一个临时公网链接代码里由 config.py 读取浏览器打开即可。结尾的中文参数切换界面语言不传则默认自动识别。进去后展开1-GPT-SoVITS-TTS面板选推理页签填入参考音频上传一段 3~10 秒、只含目标说话人声音的 wav参考文本这段音频的逐字转写目标文本你想让它读的话语言、切分方式按需选择点合成即可试听。此时 GPT 权重和 SoVITS 权重下拉框里选中的是GPT_SoVITS/pretrained_models/下的官方预训练文件v2 默认是s1bert25hz-5kh-longer系列 ckpt 配s2G2333k.pth路径定义在 GPT_SoVITS/configs/tts_infer.yaml。生成的声音会继承参考音频的音色特征但稳定度和相似度有限——想要更像、更稳就进轨道 B 做微调。轨道 B用一分钟录音微调自己的音色微调的核心是把一段长录音加工成短句 逐句转写然后分别训练 GPT语义侧和 SoVITS声学侧两个模型。全部操作可以在 WebUI 里点按钮完成下面按工序说明。第 1 步把录音洗干净原始录音通常带噪声和背景音乐先处理两遍带 BGM 的先做人声分离。启动 UVR5 面板python tools/uvr5/webui.py cuda 0 8530对应源码在 tools/uvr5/webui.py参数分别是设备、是否半精度、端口。把人声轨导出到一个文件夹备用。再对纯人声降噪。tools/cmd-denoise.py 接受一个输入目录和一个输出目录python tools/cmd-denoise.py -i raw_wavs/ -o denoised_wavs/第 2 步切片与标注用 tools/slice_audio.py 把长音频按静音切成 3~10 秒的短句它内置了阈值、最短时长、最大静音保持等参数默认值对多数播客、朗读类录音够用WebUI 的05B-语音切分面板只是它的图形化入口。切片完成后写标注文件每行一条格式是文件名|转写文本。这一步是整个流程里最值钱的环节——错字会直接变成错音多音字行重读错大多也是标注的锅。建议逐句听写别图快。第 3 步提取训练特征WebUI 的09-训练区域提供三步按钮背后分别对应工序脚本产物文本分词GPT_SoVITS/prepare_datasets/1-get-text.py音素序列自监督特征GPT_SoVITS/prepare_datasets/2-get-hubert-wav32k.pyHuBERT 特征32k 重采样语义 TokenGPT_SoVITS/prepare_datasets/3-get-semantic.py离散语义 token中文音素转换由 GPT_SoVITS/text/chinese.py 和 GPT_SoVITS/text/zh_normalization/ 下的归一化模块负责遇到个别字持续读错时可以从这条链路查词典命中逻辑。第 4 步训练两个模型GPT 侧训练脚本是 GPT_SoVITS/s1_train.py接收一个-c配置参数python GPT_SoVITS/s1_train.py -c GPT_SoVITS/configs/s1longer.yaml走 WebUI 的话不用手动改配置——训练页里填的 batch_size、epochs 会被写进临时 yaml 再传给脚本不走 WebUI 则要确保配置里的train_semantic_path、train_phoneme_path、output_dir指向你第 3 步的产物目录。默认配置 GPT_SoVITS/configs/s1longer.yaml 里train.batch_size: 8、train.epochs: 20是一分钟量级素材的稳妥起点。GPT 训完再训 SoVITS 侧GPT_SoVITS/s2_train.py默认参数见 GPT_SoVITS/configs/s2.json同样推荐在 WebUI 训练页完成。训练日志里的 loss 平稳下降即正常产出权重按实验名落在logs_s1/、SoVITS_weights/一类目录下。轨道 C把训好的模型用起来、带出去微调完成后你会拿到一对文件GPT 侧的.ckpt和 SoVITS 侧的.pth。放在GPT_weights/、SoVITS_weights/下后WebUI 下拉框会自动列出选它们替换掉预训练权重即可用新音色合成。命令行批量合成脚本化生产时用 GPT_SoVITS/inference_cli.py文本以文件形式传入八个参数缺一不可python GPT_SoVITS/inference_cli.py \ --gpt_model GPT_weights/my-voice-e15.ckpt \ --sovits_model SoVITS_weights/my-voice.pth \ --ref_audio ref.wav --ref_text ref.txt \ --ref_language 中文 \ --target_text target.txt --target_language 中文 \ --output_path out/--target_language除了单语还支持中英混合、多语种混合等取值参考音频建议挑一段你满意音色表现的成片。脱离 PyTorch 环境部署如果目标是放进独立应用里跑仓库提供两条导出路径TorchScript 导出GPT_SoVITS/export_torch_script.py 需要显式给模型和参考素材python GPT_SoVITS/export_torch_script.py \ --gpt_model GPT_weights/my-voice-e15.ckpt \ --sovits_model SoVITS_weights/my-voice.pth \ --ref_audio ref.wav --ref_text ref.txt \ --output_path torchscript_out/ONNX 导出由 GPT_SoVITS/onnx_export.py 完成它直接读取GPT_weights/与SoVITS_weights/下的权重文件产物落到onnx/目录并附带推理用的 json 描述文件。两者导出的都是自包含模型不依赖训练环境适合塞进自己的后端服务。训练中卡住了三个最常见的问题显存报 OOM。免费 GPU 上最有效的办法就是把 batch_size 从 8 一路降到 4 甚至 2重新开训S2 阶段还可以打开配置里的梯度检查点选项用额外计算时间换显存。批量减半意味着时间翻倍但免费机器上时间本来就不稀缺。会话掉线训练中断。重连 Notebook 后先conda activate gptsovits恢复环境。训练日志和检查点都写在本地磁盘logs_s1/等目录文件还在重新拉起对应训练脚本即可不用从头再来。所以长任务期间定期看一眼输出目录里 ckpt 是否在增长心里就有底。个别字读错、声调发飘。按顺序自查标注里有没有错字 → 多音字上下文是否足够 → 是否词典没命中。前两条改完标注后重跑特征提取就行第三条可以顺着 GPT_SoVITS/text/chinese2.py 的分词链去看这个词实际被转成了什么音素再决定是改标注绕开还是补词典。下一步可以玩什么三条轨道都跑通之后这套环境还能继续扩展换更长、更干净的素材重训对比不同epochs下音色稳定度的差异用api.py/api_v2.py起一个 HTTP 接口把微调好的音色挂进自己的应用轨道 C 的 TorchScript 产物接到无 GPU 的机器上做纯推理验证。从克隆代码到导出部署每一环都是独立脚本坏了哪段修哪段不用推倒重来。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),仅供参考
返回列表