特征:
-
零样本 TTS:输入 5 秒的人声样本,体验即时文本到语音转换。
-
小镜头 TTS:只需 1 分钟的训练数据即可微调模型,以提高语音相似度和真实感。
-
跨语言支持:使用与训练数据集不同的语言进行推理,目前支持英语、日语和中文。
-
WebUI工具:集成工具包括语音伴奏分离、自动训练集分割、中文ASR和文本标注,帮助初学者创建训练数据集和GPT/SoVITS模型。
环境准备
如果您是 Windows 用户(使用 win>=10 测试),则可以直接通过 prezip 安装。只需下载prezip,解压缩并双击go-webui.bat即可启动GPT-SoVITS-WebUI。
经测试的环境
- Python 3.9、PyTorch 2.0.1、CUDA 11
- Python 3.10.13、PyTorch 2.1.2、CUDA 12.3
- Python 3.9、PyTorch 2.3.0.dev20240122、macOS 14.3(Apple 芯片、GPU)
注意:numba==0.56.4 需要 py<3.11
使用 Conda 快速安装
conda create -n GPTSoVits python=3.9
conda activate GPTSoVits
bash install.sh
手动安装
pip 包
pip install -r requirements.txt
FFmpeg (英语)
Conda 用户
conda install ffmpeg
Ubuntu/Debian 用户
sudo apt install ffmpeg
sudo apt install libsox-dev
conda install -c conda-forge 'ffmpeg<7'
MacOS 用户
brew install ffmpeg
Windows 用户
下载并放置ffmpeg.exe和ffprobe.exe GPT-SoVITS 根目录。
预训练模型
从 GPT-SoVITS 模型下载预训练模型并将它们放在 中。GPT_SoVITS/pretrained_models
对于UVR5(人声/伴奏分离和混响去除),请从UVR5 Weights下载模型并将其放置在 .tools/uvr5/uvr5_weights
中国地区的用户可以通过输入下面的链接并点击“下载副本”来下载这两个模型
对于中文 ASR(另外),请从 Damo ASR 模型、Damo VAD 模型和 Damo Punc 模型下载模型,并将其放在 中。tools/damo_asr/models
对于Mac用户
如果您是 Mac 用户,请确保满足以下使用 GPU 进行训练和推理的条件:
- 搭载 Apple 芯片或 AMD GPU 的 Mac 电脑
- macOS 12.3 或更高版本
- 通过运行
xcode-select --install
其他 Mac 只能使用 CPU 进行推理。
然后使用以下命令进行安装:
创建环境
conda create -n GPTSoVits python=3.9
conda activate GPTSoVits
安装要求
pip install -r requirements.txt
pip uninstall torch torchaudio
pip3 install --pre torch torchaudio --index-url https://download.pytorch.org/whl/nightly/cpu
使用 Docker
docker-compose.yaml 配置
- 关于镜像标签:由于代码库更新速度快,镜像打包测试过程较慢,请在 Docker Hub 上查看当前打包的最新镜像,并根据自己的情况进行选择,或者根据自己的需求使用 Dockerfile 在本地构建。
- 环境变量:
- is_half:控制半精度/双精度。如果在“SSL 提取”步骤中未正确生成目录 4-cnhubert/5-wav32k 下的内容,则通常是原因。根据您的实际情况调整为“真”或“假”。
- 卷配置,容器内应用的根目录设置为 /workspace。默认的 docker-compose.yaml 列出了一些上传/下载内容的实际示例。
- shm_size:Windows 上 Docker Desktop 默认可用内存太小,可能导致操作异常。根据自己的情况进行调整。
- 在部署部分,GPU相关设置应根据您的系统和实际情况谨慎调整。
使用 docker compose 运行
docker compose -f "docker-compose.yaml" up -d
使用 docker 命令运行
如上所述,根据您的实际情况修改相应的参数,然后运行以下命令:
docker run --rm -it --gpus=all --env=is_half=False --volume=G:\GPT-SoVITS-DockerTest\output:/workspace/output --volume=G:\GPT-SoVITS-DockerTest\logs:/workspace/logs --volume=G:\GPT-SoVITS-DockerTest\SoVITS_weights:/workspace/SoVITS_weights --workdir=/workspace -p 9870:9870 -p 9871:9871 -p 9872:9872 -p 9873:9873 -p 9874:9874 --shm-size="16G" -d breakstring/gpt-sovits:xxxxx
数据集格式
TTS 注解 .list 文件格式:
vocal_path|speaker_name|language|text
语言词典:
- ‘zh’: 中文
- ‘ja’: 日语
- ‘en’: English
例:
D:\GPT-SoVITS\xxx/xxx.wav|xxx|en|I like playing Genshin.
待办事项列表
-
高优先级:
- 日语和英语本地化。
- 用户指南。
- 日语和英语数据集微调训练。
-
特征:
- 零样本语音转换(5s)/小样本语音转换(1min)。
- TTS语速控制。
- 增强的 TTS 情绪控制。
- 尝试将 SoVITS 令牌输入更改为词汇的概率分布。
- 改进英文和日文文本前端。
- 开发小型和大型 TTS 模型。
- Colab 脚本。
- 尝试扩展训练数据集(2k 小时 -> 10k 小时)。
- 更好的 Sovits基本型号(增强的音频质量)
- 模型组合