拓冰建站拓冰建站
首页 / 资讯中心 / 正文

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 是一个少样本语音克隆的语音合成工具用 1 分钟左右的干净语料就能训练出效果可用的 TTS 模型。典型场景为角色、主播克隆专属音色免费 GPU 上低成本微调语音模型批量合成多语言配音音频下面从环境搭建开始带你完整跑通全流程。环境准备与一键启动克隆项目仓库把源码拉到本地。git clone https://gitcode.com/GitHub_Trending/gp/GPT-SoVITS cd GPT-SoVITS目录里出现webui.py、install.sh 即表示克隆完成。创建独立的 Python 环境项目依赖 Python 3.10用 conda 隔离避免污染系统环境。conda create -n GPTSoVITS python3.10 -y conda activate GPTSoVITS终端提示符前出现(GPTSoVITS)即表示环境已激活。安装依赖并下载预训练模型运行 install.sh 一次性装好 PyTorch 并拉取预训练权重。--device按你的 CUDA 版本选--source按网络情况选。bash install.sh --device CU126 --source HF --download-uvr5脚本结束且没有红色[ERROR]输出即表示安装成功。模型与数据准备对比三个模型权重下载源来源适用场景命令前缀HF海外服务器、直连 Hugging Face 正常bash install.sh --source HFHF-Mirror国内访问 HF 慢走镜像加速bash install.sh --source HF-MirrorModelScope国内服务器首选无需代理bash install.sh --source ModelScope三个源只是下载通道落到本地的文件完全一致。校验下载的模型文件预训练权重统一放在GPT_SoVITS/pretrained_models/确认关键文件存在且非零体积。ls -lh GPT_SoVITS/pretrained_models/chinese-hubert-base GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large两条目录都有几百 MB 到数 GB 的条目说明权重完整。放置待训练的音色数据原始音频和对应文本清单放到同一目录例如logs/slicer_opt存切片音频同级放一份文本文件。切片、降噪、人声分离都可在 webui.py 的主界面里点按钮完成对应 tools/slice_audio.py、tools/cmd-denoise.py、tools/uvr5/webui.py。核心训练与推理流程数据预处理三步特征提取在 WebUI 的0-数据集获取页依次执行背后对应三个脚本python GPT_SoVITS/prepare_datasets/1-get-text.py python GPT_SoVITS/prepare_datasets/2-get-hubert-wav32k.py python GPT_SoVITS/prepare_datasets/3-get-semantic.py第一步做文本分词输出2-name2text.txt第二步提取自监督语音特征第三步提取语义 Token输出6-name2semantic.tsv。三个文件都在实验目录下是后面训练的输入。配置训练超参数S1GPT阶段读 GPT_SoVITS/configs/s1longer-v2.yamlS2SoVITS阶段读 GPT_SoVITS/configs/s2.json。在 WebUI 的1A/1B页填好实验名后参数会写入临时配置无需手改仓库文件。参数默认值调大/调小的影响batch_sizeS1 为 8S2 为 32调大显存占用更高、单步更稳调小可救显存但收敛变慢epochsS1 为 20S2 为 100调大音色更像但易过拟合调小则学习不充分learning_rateS1 为 0.01S2 为 0.0001调大收敛快但易震荡调小更稳但耗时save_every_n_epoch1调大减少磁盘占用调小留更多历史权重可回退text_low_lr_rate0.4S2 专用控制文本嵌入的学习速率一般不动执行训练先 S1 后 S2S1 训练语义模型S2 训练声学模型顺序不能反。python GPT_SoVITS/s1_train.py --config_file /tmp/tmp_s1.yaml python GPT_SoVITS/s2_train.py --config /tmp/tmp_s2.json直接命令行跑的话先用 WebUI 生成一次临时配置把里面的路径抄出来即可更省事的办法是全程用 WebUI 按钮它会替你拼好命令。效果验证跑一次最小合成训练完成后用 GPT_SoVITS/inference_cli.py 合成一句试听python GPT_SoVITS/inference_cli.py --gpt_model GPT_weights/我的实验-e10.ckpt --sovits_model SoVITS_weights/我的实验_e10_s500.pth --ref_audio logs/slicer_opt/0001.wav --ref_text logs/ref_text.txt --output_path out_wavout_wav目录生成若干.wav文件人声与参考音色接近、无明显电流音即验证通过。部署与模型导出启动 WebUIexport is_shareTrue python webui.py本地访问http://localhost:9874TTS 推理页在 9872 端口is_shareTrue时会额外给出一条公共链接适合 Colab 免费 GPU 部署。批量合成用一行命令python GPT_SoVITS/inference_cli.py --gpt_model 权重.ckpt --sovits_model 权重.pth --ref_audio 参考.wav --ref_text 参考文本.txt --output_path 输出目录模型导出为 ONNX 用 GPT_SoVITS/export_torch_script.py参数与上面推理命令相同产物输出到指定目录。踩坑速查显存 OOM现象训练中途报 CUDA out of memory。原因batch_size 超过当前显存上限。解法# 在 WebUI 的 1B 页把 batch size 减半S2 页可勾选开启梯度检查点训练中断后丢失进度现象Colab 掉线任务重跑后从零开始。原因换了实验名或输出目录找不到旧断点。解法保持实验名不变。S1 会自动加载logs_s1/*/ckpt下最新断点S2 自动加载G_*.pth重跑同一目录即断点续训。预训练模型文件缺失现象启动时报以下模型不存在警告。原因安装时跳过了模型下载或选错源。解法bash install.sh --device CU126 --source ModelScope文本文件与音频对不上现象第一步特征提取后得到空文本文件训练失败。原因文本文件里的文件名和音频文件名不一致。解法# 用 WebUI 的语音切分功能重新生成它会同步产出音频和对应文本文件【免费下载链接】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),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门