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
GPT-SoVITS 是一个少样本语音克隆工具:5 秒参考音频就能直接合成同一音色的文本,无需训练;1 分钟干净录音可微调模型,4090 上推理实时因子为 0.014。适合需要固定音色做朗读、虚拟形象配音或多语言播报的场景,支持中、英、日、韩、粤 5 种语言。
先判断它适不适合你:4 条标准
先对号入座,再决定是否装环境。
- 适合:你手里有 5 秒到 1 分钟的目标音色录音,且希望同一音色跨语言输出。
- 不适合:需要批量生成数千条文本并带商业 SLA,或要求亚秒级流式返回。官方实测 M4 CPU 上 RTF 为 0.526,GPU 推理有排队开销,这类需求更适合商用 TTS 服务。
- 硬件底线:NVIDIA 显卡 6GB 显存可跑零样本推理,1 分钟微调建议 12GB 显存更稳;磁盘需预留 20GB 以上存放底模与依赖。
- 语言底线:当前覆盖
zh/en/ja/ko/yue五种语言标签,其他语种不在支持列表内。
| 对比维度 | GPT-SoVITS 零样本 | GPT-SoVITS 1 分钟微调 | 传统定制 TTS 模型 |
|---|---|---|---|
| 语音准备量 | 5 秒 | 1 分钟 | 几十分钟以上干净录音 |
| 出第一条可用声音 | 几秒推理 | 微调数十分钟 | 数小时训练 |
| 音色可控性 | 近似本人 | 贴近本人 | 固定预置音色 |
| 多语言扩展 | 直接切换语言标签 | 直接切换语言标签 | 通常需另训模型 |
从安装到你第一条语音克隆音频
最短路径是一条安装脚本加一条启动命令,10 分钟内能看到第一条合成结果。
环境要求一句话:Python 3.10(由 Conda 管理)、NVIDIA 显卡配 CUDA 12 驱动,macOS 可回退到MPS或CPU。先创建并激活环境conda create -n GPTSoVits python=3.10,然后执行:
git clone https://gitcode.com/GitHub_Trending/gp/GPT-SoVITS cd GPT-SoVITS bash install.sh --device CU128 --source HF脚本会自动把底模和 G2PW 中文拼音模型下载到对应目录,底模落在GPT_SoVITS/pretrained_models,中文拼音模型落在GPT_SoVITS/text/,不需要手动搬运;国内网络可把--source HF换成HF-Mirror或ModelScope。安装完成后在项目根目录运行python webui.py,主页监听 9874 端口,推理页在 9872 端口。进入推理页,填好参考音频的文字内容、上传 5 秒音频、输入目标文本,几秒后就能听到该音色念出的新句子。
最小验证动作:合成一句“今天天气不错”,核对三点——音色接近参考、无明显底噪、时长接近正常语速。三点全过,环境才算真正跑通。
三个真实用法:最高频的语音克隆需求
九成的使用场景落在三个问题上:从零起步、音色不稳、多语言扩展。
5 秒录音能直接出语音吗
能,这就是零样本模式。在推理页上传参考音频,填这段音频里实际说的话,再输入目标文本合成,全程不训练。如果听完觉得音色“像又不像”且你无法接受,可以放弃这条路,转去做 1 分钟微调。
1 分钟微调怎么让音色更像本人
按主页四个页签的顺序走:UVR5 分离人声,切片,ASR 识别后逐条校对,再一键生成 hubert、说话人向量、语义特征三种特征,然后依次训练 GPT(s1)和 SoVITS(s2),两个模型都跑完再回推理页选新模型。也可以跳过界面手写训练列表:每行一条,格式为音频路径|说话人|语言|文本,例如./a.wav|我|zh|你好世界。如果微调后效果仍不达预期,先检查录音源头是否带噪,再考虑调参数。
中文音色能读日语吗
能,这是跨语言推理。把目标文本的语言标签从zh切成ja,输出仍是这个音色在读日语,不需要另外录日语底稿。如果文本里夹杂大量英文专名且读音漂移,可把该段切成en处理,或放弃跨语言方案,改用目标语言数据重新微调。
卡住时按顺序自查这 4 处
多数故障集中在以下四点,按顺序排查能解决九成问题。
合成语音错字、变调现象:语音里漏字、错字或音调突变。 原因:校对文本与音频没对齐,或语言标签标错。 处理:把识别文本和音频逐条对照,改错后重训 s1。
显存爆掉现象:训练或推理时 OOM 报错中断。 原因:切片过长,一次塞入的帧数过多。 处理:把数据集获取里的切片时长调短,或把is_half设为True走混合精度。
音频带噪、有底噪现象:合成结果有明显的噪声底或嗡声。 原因:参考音频本身不干净。 处理:先用tools/uvr5/里的 UVR5 分离出人声,或换安静环境重录,别直接喂原音。
推理页找不到模型现象:启动后推理页的模型下拉框为空。 原因:底模没有放到GPT_SoVITS/pretrained_models目录。 处理:重跑install.sh让它自动下载到对应目录,再重启 webui。
想深入就从这几个入口看起
按下面的顺序读代码,能覆盖从文本到音频的完整链路。
| 入口 | 在这里能看懂什么 |
|---|---|
GPT_SoVITS/AR/ | 自回归 GPT 模型,语义 token 序列如何一步步生成 |
GPT_SoVITS/module/ | SoVITS 声学模型与 VQ 量化,token 如何变成音频波形 |
GPT_SoVITS/TTS_infer_pack/ | 推理主流程与多语言文本预处理逻辑 |
GPT_SoVITS/prepare_datasets/ | ASR、特征提取、语义特征三步预处理流水线 |
docs/cn/README.md | 参数速览、数据集格式与各版本迁移说明 |
建议:先用自己 5 秒的人声跑一遍零样本,听完确认音色差在哪,实在不能接受再把数据加到 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-SoVITS
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考