GPT-SoVITS 开源项目教程
GPT-SoVITS项目地址:https://gitcode.com/gh_mirrors/gp/GPT-SoVITS
1. 项目介绍
GPT-SoVITS 是一个基于 GPT 模型的文本转语音(TTS)系统,它实现了仅需极少量语音数据(如1分钟)就能训练出高质量的TTS模型的能力,也被称为“几拍语音克隆”(few-shot voice cloning)。该项目旨在提高情感控制能力,改进英文和日文前端处理,并支持小型到大型不同规模的TTS模型。此外,还提供了WebUI界面,方便非专业人员进行语音转换和文本到语音的操作。
2. 项目快速启动
环境准备
确保已经安装了 Python 和相关依赖库,可以使用以下命令安装:
pip install -r requirements.txt
数据准备
下载预训练模型、UVR5权重以及其他可选的ASR模型,并放置在指定目录:
# 下载GPT-SoVITS预训练模型
wget -O GPT_SoVITS/pretrained_models/xxx.zip [GPT-SoVITS 预训练模型链接] && unzip GPT_SoVITS/pretrained_models/xxx.zip
# 下载UVR5权重
wget -O tools/uvr5/uvr5_weights.zip [UVR5 权重链接] && unzip tools/uvr5/uvr5_weights.zip
# 对于中国地区用户,下载Damo ASR相关模型并放置在相应位置
wget -O tools/asr/models/[Damo ASR 相关模型链接]
# 如需要英文或日文ASR,下载Faster Whisper模型
wget -O tools/asr/models/[Faster Whisper 相关模型链接]
运行WebUI
# 使用以下命令启动WebUI
python webui.py
然后在浏览器中访问 http://localhost:9873
进行操作。
文本转语音示例
若不通过WebUI,可以直接在命令行进行推理:
# 替换以下路径为你实际存放模型的位置
model_path = "path/to/model"
# 输入文本和设备信息
text = "Hello, world!"
device = "cuda" if torch.cuda.is_available() else "cpu"
# 转换文本到语音
from gpt_sovits import inference
audio = inference(text, model_path, device)
# 将音频保存到文件
import librosa
librosa.output.write_wav("output.wav", audio, sr=22050)
3. 应用案例和最佳实践
- 零样本TTS: 只需提供5秒的语音样本,即可实现即时的文字到语音转换。
- 微调优化: 对于新说话者,可以使用1分钟的训练数据对模型进行微调,以获得更接近真实声音的效果。
- 跨语言支持: 支持多种语言的转化,包括但不限于英语、日语和中文。
- 集成工具: 包括声乐伴奏分离、自动训练集分割、中文ASR和文本标注等,便于构建训练数据和GPT/SoVITS模型。
4. 典型生态项目
- UVR5: 提供歌声/伴奏分离及混响去除功能,增强了GPT-SoVITS的音质。
- Faster Whisper: 用于英文或日文的高精度ASR模型,与GPT-SoVITS结合,可用于语音识别场景。
- Damo ASR/Punc/Models: 阿里达摩院的ASR模型,适用于中文环境,有助于提升系统整体性能。
以上是GPT-SoVITS的基本介绍和启动步骤,更多详细信息和进阶用法请参考项目官方文档和示例代码。祝你在探索GPT-SoVITS的过程中一切顺利!