只需要5秒就能克隆你的声音
语音克隆与文本转语音:GPT-SoVITS 本地部署完全指南
GPT-SoVITS 提供了实现高质量语音转换和文本转语音(TTS)的本地解决方案,可以在自己的电脑上体验先进的语音克隆功能。
本教程将引导完成 GPT-SoVITS 的本地部署,并详细介绍其核心功能的使用。
什么是 GPT-SoVITS?
GPT-SoVITS 是一款功能强大的语音生成工具,它融合了 GPT(Generative Pre-trained Transformer)和 SoVITS(SoftVC VITS)模型,能够实现:
- 零样本文本转语音 (TTS):只需输入一个 5 秒钟的语音样本,即可即时将任意文本转换为该语音。
- 少样本文本转语音 (TTS):投入仅 1 分钟的训练数据,即可显著改善语音相似度和真实感。
- 跨语言支持:支持多种语言的推断和训练,包括英语、日语、韩语、粤语、中文等。
- WebUI 工具集:集成了语音伴奏分离、自动训练集分割、中文自动语音识别(ASR)和文本标注,帮助初学者创建训练数据集和 GPT/SoVITS 模型。
本地环境配置与安装
为了获得最佳体验,建议使用配备 NVIDIA GPU 的 Windows 10 或更高版本系统。
访问项目仓库:
- 打开浏览器,访问 GitHub 网站。
- 在搜索栏中输入
GPT-SoVITS
并进行搜索。 - 找到
RVC-Boss/GPT-SoVITS
这个仓库并点击进入。
下载整合包:
- 在项目页面的“安装”部分,寻找针对 Windows 用户的整合包下载链接。
- GPT-SoVITS 通常提供包含或不包含 GPU 支持的版本。如果电脑有 NVIDIA 显卡(RTX 30 系列或 40 系列),选择包含 NVIDIA GPU 支持的版本以获得更快的处理速度;否则,选择不含 GPU 的版本。
- 下载
GPT-SoVITS-vX.X-YYYYMMDD.7z
文件(其中vX.X
是版本号,YYYYMMDD
是日期)。文件大小通常在 6GB 左右。
解压与启动:
- 将下载的
.7z
压缩包解压到希望的目录,例如D:\App\GPT-SoVITS-vX.X
。 - 进入解压后的文件夹,找到并双击运行
go-webui.bat
批处理文件。 - 程序启动后,会自动打开一个 Web UI 界面,通常地址为
localhost:9873
。
- 将下载的
WebUI 功能概览与使用
WebUI 界面分为几个主要模块:
0- 数据集获取与预处理工具
此模块提供了处理原始音频数据的工具:
人声与伴奏分离去混响去人声:
- 该工具用于将包含背景音乐或人声的音频文件进行分离。
- 步骤:
- 点击右侧的“开启人声分离WebUI”按钮,会弹出一个新的浏览器窗口。
- 在新窗口中,选择处理模型(例如,
HPS_only_main_vocal
仅保留主唱人声)。 - 点击上传图标,选择带有伴奏的音频文件进行上传。
- 选择输出格式(例如
mp3
)。 - 点击“转换”按钮。转换完成后,分离出的人声文件将保存在
output/uvr5_opt
目录下。
语音切分工具:
- 用于将较长的音频文件切分为适合训练的小片段。
- 步骤:
- 在“输入待切分音频路径”处,输入需要切分音频文件所在的文件夹路径(例如,如果分离了人声,路径会是
output/uvr5_opt
)。 - 输出路径通常保持默认的
output/slicer_opt
。 - 点击“开启语音切分”按钮。
- 在“输入待切分音频路径”处,输入需要切分音频文件所在的文件夹路径(例如,如果分离了人声,路径会是
语音降噪工具:
- 用于去除音频中的噪音,提升语音质量。
- 步骤:
- 在“输入文件夹路径”处,输入经过切分后的音频文件所在的文件夹路径(例如
output/slicer_opt
)。 - 输出路径通常保持默认的
output/denoise_opt
。 - 点击“开启语音降噪”按钮。
- 在“输入文件夹路径”处,输入经过切分后的音频文件所在的文件夹路径(例如
语音识别工具:
- 将音频内容自动识别为文本。
- 步骤:
- 在“输入文件夹路径”处,输入降噪后的音频文件所在路径(例如
output/denoise_opt
)。 - 选择 ASR 模型类型(例如
达摩ASR中文
)。 - 点击“开启语音识别”按钮。
- 识别出的文本会生成一个
.list
文件,其中包含音频文件路径和对应的文本内容。请务必检查并修正这个.list
文件中的文本内容,以确保其准确性,这对后续训练至关重要。
- 在“输入文件夹路径”处,输入降噪后的音频文件所在路径(例如
1- GPT-SoVITS-TTS 模型训练
此模块是训练专属语音模型的关键:
训练模型命名:
- 在“实验模型名”处,输入语音模型名称(例如,
my_voice_model
)。 - 选择模型版本(
v3
为最新推荐)。 - 在“文本标注文件”处,输入之前语音识别工具生成的
.list
文件的路径(例如output/asr_opt/slicer_opt.list
)。
- 在“实验模型名”处,输入语音模型名称(例如,
一键三连(推荐):
- 对于初学者,点击“开启训练数据集格式化-一键三连”按钮是最便捷的方式。
- 此操作会自动完成:文本切分与特征提取、语音自监督特征提取、语音 Token 提取这三个步骤,并开始模型的训练。
- 在命令行窗口中观察训练进度,当显示“Training done”时,表示训练完成。
手动微调训练:
- 如果对训练过程有更深入的理解,可以手动调整“Batch_size”、“total_epoch”等参数。
- 训练完成后,模型文件(例如
GPT_weights/your_voice_model/G_XXXX.pth
和SoVITS_weights/your_voice_model/D_XXXX.pth
)将保存在对应的文件夹中。
2- GPT-SoVITS-TTS 实时推断(文本转语音)
此模块允许使用训练好的模型将文本转换为语音:
模型加载:
- 首先点击“刷新模型路径”按钮,确保加载最新的模型。
- 在“GPT 模型列表”和“SoVITS 模型列表”中,选择之前训练好的模型。通常选择数字后缀最大的模型,因为它代表了最终的训练结果。
参考音频与文本:
- 在“请上传参考音频,请填写参考信息!”部分,点击上传图标,选择一个 3 到 10 秒的干净语音样本作为参考(该语音样本应与训练的模型语音一致)。
- 在“参考语音文本”处,输入该参考音频对应的文字内容。
生成目标文本与语音:
- 在“请填写需要合成的目标文本和语种模式”部分,输入希望模型合成的文字内容。
- 在“语种”下拉菜单中,选择目标文本的语言(例如,
中文
或英文
)。 - 还可以调整一些高级参数,如:
温度 (temperature)
:影响语音的随机性和创造性。Top K
和Top P
:用于控制采样方式,影响语音的连贯性和流畅度。
- 注意:如果模型表现不佳,可能需要调整文本标点或尝试其他表达方式。
合成语音:
- 点击“合成语音”按钮。
- 生成的语音波形和播放按钮将出现在下方,可以点击播放试听。
总结与展望
GPT-SoVITS 提供了一个强大而灵活的本地语音处理平台,可以轻松实现语音分离、降噪、识别以及语音克隆和文本转语音功能。