GPT-SoVITS 实战指南:一分钟数据微调出专属音色的高质量语音合成
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-SoVITSGPT-SoVITS 是一个少样本语音克隆few-shot TTS项目给它一段参考音频就能用不到一分钟的素材微调出带该音色的合成模型。学完本文你可以从零完成环境搭建、预训练模型推理体验、音色微调训练直到把模型导出 ONNX 并以 API 服务形式上线。从零到可用一次跑通环境与预训练推理克隆仓库后整个初始化其实就一条命令的事git clone https://gitcode.com/GitHub_Trending/gp/GPT-SoVITS cd GPT-SoVITS bash install.sh --device CU126 --source HF --download-uvr5install.sh 会依次处理 conda 虚拟环境、PyTorch 依赖和预训练模型下载--device要按你的显卡驱动选 CUDA 12.6 或 12.8Apple 机器则传MPS、纯 CPU 传CPU--source决定模型从 Hugging Face、HF 镜像还是 ModelScope 拉取国内网络选后两者能省掉反复失败的等待--download-uvr5顺手把后面人声分离要用的 UVR5 权重也装上避免中途再配一次。脚本本身有错误追踪任何一步失败都会打印出具体行号和调用栈方便定位。装完直接启动 WebUI 就能听到效果export is_shareTrue python webui.pywebui.py 是总入口内部会拉起推理、训练、切片、降噪、人声分离五个子进程各占独立端口。is_share环境变量控制是否生成 Gradio 公共链接Colab 这类没有公网 IP 的环境靠它访问本地服务。打开推理页签后不训练也可以直接选「v2Pro 底模」做 5 秒 Zero Shot上传一段参考音频、标注参考文本输入目标文本即可试听——这是最快的正反馈路径建议先跑通再谈训练。从素材到训练集数据处理的正确姿势想克隆自己的声音原始录音得先过三道工序工具按用途分三组切片tools/slice_audio.py 把长录音按静音切成适合训练的短段配合同目录的 slicer 做辅助切分降噪tools/cmd-denoise.py 对切片做降噪底噪大的录音先走这一步否则训练会被环境声带偏人声分离tools/uvr5/webui.py 处理带 BGM 的录音只留干声。处理完的音频放入数据集目录后WebUI 的文本标注与数据集卡生成环节会完成 ASR 转写tools/asr/ 内置 faster-whisper 与 funasr 两套可选引擎、说话人识别和 phoneme/semantic 特征提取这一步是训练前的自动管线按界面提示点完即可。训练分两阶段S1 训语义GPTS2 训声码SoVITS。真正影响效果的参数不多重点看这几个batch_size受显存约束12G 卡建议 8OOM 就降到 4learning_rate / lr_init / lr_endS1 用余弦衰减见 configs/train.yaml微调阶段小学习率更稳total_epoch界面提示「不建议太高」一分钟素材 816 轮通常已收敛过多容易过拟合出机械感save_every_n_epoch每轮存一份 checkpoint方便回头挑效果最好的一版max_sec单条音频长度上限超长样本会截断。训练脚本入口是 GPT_SoVITS/s1_train.py 与 GPT_SoVITS/s2_train.py命令行方式即python s1_train.py -c configs/s1longer.yaml配置模板都在 GPT_SoVITS/configs/ 下正常通过 WebUI 触发时会自动读取对应配置训练完的权重落在GPT_weights/与SoVITS_weights/目录推理时选到它们即可。部署导出与批量能力ONNX 导出要脱离 PyTorch 运行时或加速推理时GPT_SoVITS/onnx_export.py 会把 T2S 编码器与两级解码器拆成三个 ONNX 文件注意导出依赖一份样例输入先在本地跑通推理再执行导出。命令行批量合成无界面环境用 GPT_SoVITS/inference_cli.py一次调用吃进模型、参考音频、参考文本和目标文本文件输出到指定目录python GPT_SoVITS/inference_cli.py \ --gpt_model GPT_weights/xxx.ckpt \ --sovits_model SoVITS_weights/xxx.pth \ --ref_audio ref.wav --ref_text ref.txt --ref_language 中文 \ --target_text target.txt --target_language 中英混合 \ --output_path out/--target_language支持中英混合、多语种混合等取值跨语种文本务必选对否则发音会退化。服务化部署api.py 基于 FastAPI uvicorn 提供 TTS 接口适合把微调模型接进 App 或网站需要公网访问时仍可用is_shareTrue的 Gradio 链接做临时演示长期服务建议走 api 并配好端口转发。避坑与高频问题现象训练/推理直接 OOM 崩掉。原因是 batch 与模型尺寸叠加吃满显存优先降batch_size其次在配置里开16-mixed精度Colab 的 T4 还建议关闭is_half相关双精度路径。现象会话断开后 Colab 进程全没了。GPU 空闲超时会被回收重连后重新conda activate并启动即可训练中断的话S1 的 Lightning trainer 会自动拾取ckpt_dir里最新的 checkpoint 继续trainer.fit无需手动传参细节见 GPT_SoVITS/s1_train.py 末段。现象中文合成有怪音或吞字。多为文本规范化没兜住——生僻写法、中英混排的数字和缩写最容易出问题的根源在 GPT_SoVITS/text/zh_normalization/写目标文本时保持标点规范、数字用阿拉伯数字能规避大部分怪音。现象参考音频和输出音色不像。参考音频带混响、底噪或过短时S2 阶段会学到杂质先跑降噪和切片再训练并把参考音频控制在干净的人声段上。✅ 一般微调一轮后在推理页签盲测三遍选 checkpoint 时信耳朵不信指标。【免费下载链接】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),仅供参考
