🔉GPT-SoVITS少样本声音克隆和TTS

type
status
slug
summary
tags
category
icon
password
Date
特征:
  1. 零样本 TTS:输入 5 秒的声音样本并体验即时文本到语音的转换。
  1. 少量样本 TTS:仅使用 1 分钟的训练数据对模型进行微调,以提高语音相似度和真实感。
  1. 跨语言支持:使用不同于训练数据集的语言进行推理,目前支持英语、日语和中文。
  1. WebUI 工具:集成工具包括语音伴奏分离、自动训练集分割、中文 ASR 和文本标注,帮助初学者创建训练数据集和 GPT/SoVITS 模型。
在这里查看我们的演示视频
看不见的说话者的小样本微调演示:
少量镜头微调演示.mp4
 
使用指南:English |英语
安装
对于中国地区的用户,可以点击此处使用 AutoDL Cloud Docker 在线体验完整功能。
测试环境
  • 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.2.2、macOS 14.4.1(Apple 芯片)
  • Python 3.9、PyTorch 2.2.2、CPU 设备
注意:numba==0.56.4 需要 py<3.11
视窗
如果您是 Windows 用户(已使用 win>=10 测试),您可以直接下载预先打包的分发版并双击go-webui.bat启动 GPT-SoVITS-WebUI。
中国区用户可点击链接并选择“下载一份”来下载0217包0306fix2包。
注意:0306fix2版本将推理速度提高了一倍,并修复了无参考文本模式的所有问题。
Linux
苹果系统
注意:在 Mac 上使用 GPU 训练的模型与在其他设备上训练的模型相比质量明显较低,因此我们暂时使用 CPU。
  1. 通过运行安装 Xcode 命令行工具xcode-select --install
  1. brew install ffmpegconda install ffmpeg
    1. 通过运行或安装 FFmpeg
  1. 通过运行以下命令来安装程序:
手动安装
安装依赖项
安装 FFmpeg
Conda 用户
Ubuntu/Debian 用户
Windows 用户
下载并将ffmpeg.exeffprobe.exe放在GPT-SoVITS 根目录中。
使用 Docker
docker-compose.yaml 配置
  1. 关于镜像标签:由于代码更新较快,镜像打包测试进度较慢,请您查看Docker Hub
    1. 当前已打包的最新镜像并根据自身情况进行选择,或者根据自身需求使用Dockerfile进行本地构建。
  1. 环境变量:
  • is_half:控制半精度/双精度。这通常是“SSL提取”步骤中目录4-cnhubert/5-wav32k下的内容生成不正确的原因。根据实际情况调整为True或False。
  1. Volumes 配置,容器内部应用程序的根目录设置为 /workspace。默认的 docker-compose.yaml 列出了一些上传/下载内容的实际示例。
  1. shm_size: Windows上Docker Desktop默认可用内存过小,可能导致运行异常,请根据自身情况进行调整。
  1. 在部署部分下,应根据您的系统和实际情况谨慎调整与GPU相关的设置。
使用 docker compose 运行
使用docker命令运行
同上,根据自己的实际情况修改相应参数,然后运行以下命令:
预训练模型
从GPT-SoVITS 模型下载预训练模型并将其放置在 中GPT_SoVITS/pretrained_models
对于 UVR5(此外还有人声/伴奏分离和混响消除),从UVR5 Weights下载模型并将其放入tools/uvr5/uvr5_weights
中国区用户可进入以下链接,点击“下载”即可下载这两款模型
对于中文 ASR(另外),从Damo ASR 模型Damo VAD 模型Damo Punc 模型下载模型并将它们放置在 中tools/asr/models
对于英语或日语 ASR(另外),请从Faster Whisper Large V3下载模型并将其放入tools/asr/models。此外,其他模型可能具有类似的效果,但磁盘占用空间更小。
中国地区用户可通过以下链接下载该模型
数据集格式
TTS注释.list文件格式:
语言词典:
  • ‘zh’:中文
  • ‘ja’:日语
  • ‘en’:英语
例子:
待办事项列表
高优先级:
日语和英语本地化。
用户指南。
日语和英语数据集微调训练。
特征:
零样本语音转换(5s)/小样本语音转换(1min)。
TTS 朗读速度控制。
增强TTS情绪控制。
尝试将 SoVITS 标记输入更改为词汇的概率分布。
改进英语和日语文本前端。
开发微型和大型 TTS 模型。
Colab 脚本。
尝试扩大训练数据集(2k 小时 -> 10k 小时)。
更好的苏联基础模型(增强音频质量)
模型组合
(可选)如果您需要,这里将提供命令行操作模式
使用命令行打开UVR5的WebUI
如果无法打开浏览器,请按照以下格式进行UVR处理,这是使用mdxnet进行音频处理
这是使用命令行对数据集进行音频分割的方法
使用命令行进行数据集 ASR 处理的方法(仅限中文)
通过Faster_Whisper进行ASR处理(中文以外的ASR标记)
(无进度条,GPU 性能可能会导致时间延迟)
已启用自定义列表保存路径
致谢
特别感谢以下项目和贡献者:
理论
预训练模型
用于推理的文本前端
WebUI 工具
感谢所有贡献者的努力
notion image
 
GPT-SoVITS
RVC-BossUpdated May 28, 2024
不到500行代码构建您自己的对话搜索引擎M2UGen:利用大型语言模型实现多模态音乐理解和生成