GPT-SoVITS
GPT-SoVITS 是一款强大的开源语音合成与声音克隆工具,旨在让用户仅需极少量的音频数据即可训练出高质量的个性化语音模型。它核心解决了传统语音合成技术依赖海量录音数据、门槛高且成本大的痛点,实现了“零样本”和“少样本”的快速建模:用户只需提供 5 秒参考音频即可即时生成语音,或使用 1 分钟数据进行微调,从而获得高度逼真且相似度极佳的声音效果。
该工具特别适合内容创作者、独立开发者、研究人员以及希望为角色配音的普通用户使用。其内置的友好 WebUI 界面集成了人声伴奏分离、自动数据集切片、中文语音识别及文本标注等辅助功能,极大地降低了数据准备和模型训练的技术门槛,让非专业人士也能轻松上手。
在技术亮点方面,GPT-SoVITS 不仅支持中、英、日、韩、粤语等多语言跨语种合成,还具备卓越的推理速度,在主流显卡上可实现实时甚至超实时的生成效率。无论是需要快速制作视频配音,还是进行多语言语音交互研究,GPT-SoVITS 都能以极低的数据成本提供专业级的语音合成体验。
使用场景
一位独立游戏开发者需要为游戏中多位 NPC 快速生成多语种语音,但预算有限且无法聘请专业配音演员。
没有 GPT-SoVITS 时
- 成本高昂:聘请真人配音演员费用昂贵,且按句计费,超出独立开发者的承受范围。
- 周期漫长:从联系配音、录制到后期修音,往往需要数周时间,严重拖慢游戏上线进度。
- 修改困难:一旦游戏剧本调整或发现台词错误,必须重新预约配音员补录,沟通成本极高。
- 语种受限:难以找到能同时流利演绎中文、日文及英文的同一名配音员,导致角色声音不统一。
- 情感单一:免费的基础 TTS 工具声音机械僵硬,缺乏情感起伏,无法沉浸式地展现角色性格。
使用 GPT-SoVITS 后
- 极低门槛:仅需采集某位志愿者 1 分钟的干声样本,即可训练出高相似度的专属语音模型,几乎零成本。
- 即时生成:输入文本后秒级合成语音,开发者可随改随听,将原本数周的配音周期压缩至几小时。
- 灵活迭代:剧本变更时,只需在本地重新推理生成新音频,无需依赖外部人员,随时响应需求变化。
- 跨语支持:利用同一声音模型,轻松实现中、日、英等多语种无缝切换,确保全球服角色音色高度一致。
- 情感逼真:基于少量样本的微调能力,使合成语音具备丰富的语气和情感细节,听感接近真人演绎。
GPT-SoVITS 让独立开发者仅用极少的数据和时间成本,就能获得媲美专业录音棚的多语种高质量语音产出能力。
运行环境要求
- Windows
- Linux
- macOS
- NVIDIA GPU 推荐 (CUDA 12.4/12.6/12.8),测试通过型号包括 RTX 4060Ti/4090
- Mac 支持 Apple Silicon (MPS) 但训练质量较低,建议仅用 CPU
- 支持 CPU 模式
未说明 (Docker 配置建议共享内存 shm_size 设为 16g)

快速开始
Features:
Zero-shot TTS: 输入一段5秒的语音样本,即可体验即时的文本转语音转换。
Few-shot TTS: 仅需1分钟的训练数据即可微调模型,以获得更好的语音相似度和真实感。
跨语言支持: 可在不同于训练数据集的语言中进行推理,目前支持英语、日语、韩语、粤语和中文。
WebUI工具: 集成的工具包括伴奏分离、自动分割训练集、中文ASR以及文本标注,帮助初学者创建训练数据集和GPT/SoVITS模型。
请在此处观看我们的演示视频!
未见过的说话者少样本微调演示:
https://github.com/RVC-Boss/GPT-SoVITS/assets/129054828/05bee1fa-bdd8-4d85-9350-80c060ab47fb
GPT-SoVITS v2 ProPlus的RTF(推理速度): 在4060Ti上测试为0.028,在4090上测试为0.014(1400字≈4分钟,推理时间为3.36秒),在M4 CPU上为0.526。您可以在我们的Huggingface演示(半H200)上体验高速推理。
请不要尬黑GPT-SoVITS推理速度慢,谢谢!
安装
对于中国用户,您可以点击此处使用AutoDL Cloud Docker在线体验完整功能。
测试环境
| Python版本 | PyTorch版本 | 设备 |
|---|---|---|
| Python 3.10 | PyTorch 2.5.1 | CUDA 12.4 |
| Python 3.11 | PyTorch 2.5.1 | CUDA 12.4 |
| Python 3.11 | PyTorch 2.7.0 | CUDA 12.8 |
| Python 3.9 | PyTorch 2.8.0dev | CUDA 12.8 |
| Python 3.9 | PyTorch 2.5.1 | 苹果芯片 |
| Python 3.11 | PyTorch 2.7.0 | 苹果芯片 |
| Python 3.9 | PyTorch 2.2.2 | CPU |
Windows
如果您是Windows用户(经win>=10测试),可以下载集成包并双击_go-webui.bat_以启动GPT-SoVITS-WebUI。
中国用户可在此下载包。
通过运行以下命令安装程序:
conda create -n GPTSoVits python=3.10
conda activate GPTSoVits
pwsh -F install.ps1 --Device <CU126|CU128|CPU> --Source <HF|HF-Mirror|ModelScope> [--DownloadUVR5]
Linux
conda create -n GPTSoVits python=3.10
conda activate GPTSoVits
bash install.sh --device <CU126|CU128|ROCM|CPU> --source <HF|HF-Mirror|ModelScope> [--download-uvr5]
macOS
注意:在Mac上使用GPU训练的模型质量明显低于其他设备,因此我们暂时改用CPU。
通过运行以下命令安装程序:
conda create -n GPTSoVits python=3.10
conda activate GPTSoVits
bash install.sh --device <MPS|CPU> --source <HF|HF-Mirror|ModelScope> [--download-uvr5]
手动安装
安装依赖
conda create -n GPTSoVits python=3.10
conda activate GPTSoVits
pip install -r extra-req.txt --no-deps
pip install -r requirements.txt
安装FFmpeg
Conda用户
conda activate GPTSoVits
conda install ffmpeg
Ubuntu/Debian用户
sudo apt install ffmpeg
sudo apt install libsox-dev
Windows用户
下载并放置ffmpeg.exe和ffprobe.exe到GPT-SoVITS根目录。
MacOS用户
brew install ffmpeg
使用 Docker 运行 GPT-SoVITS
Docker 镜像选择
由于代码库更新迅速,而 Docker 镜像的发布周期较慢,请注意以下事项:
- 请前往 Docker Hub 查看最新的镜像标签。
- 根据您的环境选择合适的镜像标签。
Lite表示该 Docker 镜像 不包含 ASR 模型和 UVR5 模型。您可以手动下载 UVR5 模型,而 ASR 模型会在需要时由程序自动下载。- 在使用 Docker Compose 时,会根据您的架构自动拉取相应的镜像(amd64 或 arm64)。
- Docker Compose 会挂载当前目录下的 所有文件。请切换到项目根目录,并在使用 Docker 镜像之前 拉取最新代码。
- 您也可以选择使用提供的 Dockerfile 在本地构建镜像,以获得最新的更改。
环境变量
is_half:控制是否启用半精度(fp16)。如果您的 GPU 支持,则将其设置为true,以减少显存占用。
共享内存配置
在 Windows(Docker Desktop)上,默认的共享内存大小较小,可能会导致意外行为。请根据您可用的系统内存,在 Docker Compose 文件中增加 shm_size 的值(例如设置为 16g)。
服务选择
docker-compose.yaml 文件定义了两个服务:
GPT-SoVITS-CU126和GPT-SoVITS-CU128:完整版,包含所有功能。GPT-SoVITS-CU126-Lite和GPT-SoVITS-CU128-Lite:轻量版,依赖项和功能较少。
要使用 Docker Compose 运行特定服务,可以执行以下命令:
docker compose run --service-ports <GPT-SoVITS-CU126-Lite|GPT-SoVITS-CU128-Lite|GPT-SoVITS-CU126|GPT-SoVITS-CU128>
本地构建 Docker 镜像
如果您希望自行构建镜像,可以使用以下命令:
bash docker_build.sh --cuda <12.6|12.8> [--lite]
访问正在运行的容器(Bash Shell)
当容器在后台运行时,您可以使用以下命令访问它:
docker exec -it <GPT-SoVITS-CU126-Lite|GPT-SoVITS-CU128-Lite|GPT-SoVITS-CU126|GPT-SoVITS-CU128> bash
预训练模型
如果 install.sh 脚本成功运行,您可以跳过第 1、2、3 步。
中国用户可以从这里下载所有这些模型:点击下载。
从 GPT-SoVITS Models 下载预训练模型,并将其放置在
GPT_SoVITS/pretrained_models目录下。从 G2PWModel.zip(HF) 或 G2PWModel.zip(ModelScope) 下载 G2PW 模型,解压后重命名为
G2PWModel,然后将其放置在GPT_SoVITS/text目录下。(仅适用于中文 TTS)对于 UVR5(人声/伴奏分离及混响去除,可选),请从 UVR5 Weights 下载模型,并将其放置在
tools/uvr5/uvr5_weights目录下。如果您想使用
bs_roformer或mel_band_roformer模型进行 UVR5 处理,可以手动下载模型及其对应的配置文件,并将它们放入tools/uvr5/uvr5_weights目录。请确保模型文件和配置文件的名称相同且对应一致,仅后缀不同。此外,模型和配置文件的名称 必须包含roformer才能被识别为 roformer 类型的模型。建议在模型名和配置文件名中 直接标明模型类型,例如
mel_mand_roformer、bs_roformer。如果不明确指定,系统将通过比较配置文件来判断模型类型。例如,bs_roformer_ep_368_sdr_12.9628.ckpt及其对应的配置文件bs_roformer_ep_368_sdr_12.9628.yaml是一对,而kim_mel_band_roformer.ckpt和kim_mel_band_roformer.yaml也是另一对。
对于中文 ASR(可选),请从 Damo ASR Model、Damo VAD Model 和 Damo Punc Model 下载模型,并将其放置在
tools/asr/models目录下。对于英文或日文 ASR(可选),请从 Faster Whisper Large V3 下载模型,并将其放置在
tools/asr/models目录下。此外,其他模型 也可能具有类似效果,但占用的磁盘空间更小。
数据集格式
TTS 注释 .list 文件格式如下:
人声路径|说话者姓名|语言|文本
语言字典:
- 'zh':中文
- 'ja':日语
- 'en':英语
- 'ko':韩语
- 'yue':粤语
示例:
D:\GPT-SoVITS\xxx/xxx.wav|xxx|en|我喜欢玩原神。
微调与推理
Open WebUI
集成包用户
双击 go-webui.bat 或使用 go-webui.ps1。如果您想切换到 V1 版本,可以双击 go-webui-v1.bat 或使用 go-webui-v1.ps1。
其他用户
python webui.py <语言(可选)>
如果想切换到 V1 版本:
python webui.py v1 <语言(可选)>
或者您也可以在 WebUI 中手动切换版本。
微调
现已支持路径自动填充
- 填写音频路径。
- 将音频切分成小片段。
- 噪音去除(可选)。
- ASR。
- 校对 ASR 转录结果。
- 切换到下一个标签页,即可开始微调模型。
打开推理 WebUI
集成包用户
双击 go-webui-v2.bat 或使用 go-webui-v2.ps1,然后在 1-GPT-SoVITS-TTS/1C-inference 打开推理 WebUI。
其他用户
python GPT_SoVITS/inference_webui.py <语言(可选)>
或者
python webui.py
然后在 1-GPT-SoVITS-TTS/1C-inference 打开推理 WebUI。
V2 版本更新说明
新特性:
支持韩语和粤语
优化了文本前端
预训练模型从2000小时扩展到5000小时
提升了低质量参考音频的合成质量
在 v1 环境中使用 v2:
运行
pip install -r requirements.txt更新部分依赖包从 GitHub 克隆最新代码
从 huggingface 下载 v2 预训练模型,并将其放入
GPT_SoVITS/pretrained_models/gsv-v2final-pretrained目录。中文 v2 补充:G2PWModel.zip(HF)| G2PWModel.zip(ModelScope)(下载 G2PW 模型,解压后重命名为
G2PWModel,再放入GPT_SoVITS/text目录。)
V3 版本更新说明
新特性:
音色相似度更高,只需较少的训练数据即可逼近目标说话人(直接使用基础模型而无需微调时,音色相似度显著提升)。
GPT 模型更加稳定,重复和遗漏现象更少,更容易生成情感表达更丰富的语音。
在 v2 环境中使用 v3:
运行
pip install -r requirements.txt更新部分依赖包从 GitHub 克隆最新代码
从 huggingface 下载 v3 预训练模型(s1v3.ckpt、s2Gv3.pth 和 models--nvidia--bigvgan_v2_24khz_100band_256x 文件夹),并将其放入
GPT_SoVITS/pretrained_models目录。补充:关于音频超分辨率模型,可参阅 如何下载
V4 版本更新说明
新特性:
- 解决了 V3 版本因非整数倍上采样导致的金属质感问题,并原生输出 48kHz 音频以避免声音闷塞(而 V3 仅原生输出 24kHz)。作者认为 V4 可直接替代 V3,但仍需进一步测试。 更多详情
在 v1/v2/v3 环境中使用 v4:
运行
pip install -r requirements.txt更新部分依赖包从 GitHub 克隆最新代码
从 huggingface 下载 v4 预训练模型(gsv-v4-pretrained/s2v4.pth 和 gsv-v4-pretrained/vocoder.pth),并将其放入
GPT_SoVITS/pretrained_models目录。
V2Pro 版本更新说明
新特性:
显存占用略高于 v2,性能超越 v4,同时保持 v2 的硬件成本和速度。 更多详情
v1/v2 和 v2Pro 系列具有相同特性,而 v3/v4 则有相似特点。对于平均音质的训练集,v1/v2/v2Pro 能取得不错效果,但 v3/v4 则难以达到。此外,v3/v4 合成的音色和韵律更倾向于参考音频,而非整体训练集。
在 v1/v2/v3/v4 环境中使用 v2Pro:
运行
pip install -r requirements.txt更新部分依赖包从 GitHub 克隆最新代码
从 huggingface 下载 v2Pro 预训练模型(v2Pro/s2Dv2Pro.pth、v2Pro/s2Gv2Pro.pth、v2Pro/s2Dv2ProPlus.pth、v2Pro/s2Gv2ProPlus.pth,以及 sv/pretrained_eres2netv2w24s4ep4.ckpt),并将其放入
GPT_SoVITS/pretrained_models目录。
待办事项清单
高优先级:
- 日语和英语本地化。
- 用户指南。
- 日语和英语数据集微调训练。
功能:
- 零样本语音转换(5秒)/ 少样本语音转换(1分钟)。
- TTS 语速控制。
-
增强的 TTS 情感控制。或许可以使用预训练的微调版 GPT 模型来更好地控制情感。 - 尝试将 SoVITS 的词元输入改为 GPT 词汇的概率分布(Transformer 隐层表示)。
- 改进英语和日语文本前端。
- 开发小型和大型 TTS 模型。
- Colab 脚本。
- 尝试扩充训练数据集(2000小时 -> 10000小时)。
- 更好的 SoVITS 基础模型(提升音频质量)。
- 模型混合
(补充)命令行运行方法
使用命令行打开 UVR5 的 WebUI:
python tools/uvr5/webui.py "<infer_device>" <is_half> <webui_port_uvr5>
以下是使用命令行对数据集进行音频分割的方法:
python audio_slicer.py \
--input_path "<原始音频文件或目录路径>" \
--output_root "<保存分割后音频片段的目录>" \
--threshold <音量阈值> \
--min_length <每个子片段的最小时长> \
--min_interval <相邻子片段之间的最短时间间隔> \
--hop_size <计算音量曲线的步长>
以下是使用命令行进行数据集 ASR 处理的方法(仅支持中文):
python tools/asr/funasr_asr.py -i <input> -o <output>
ASR 处理由 Faster_Whisper 完成(除中文外的其他语言标注)。
(无进度条,GPU 性能可能导致延迟)
python ./tools/asr/fasterwhisper_asr.py -i <input> -o <output> -l <language> -p <precision>
支持自定义列表保存路径。
致谢
特别感谢以下项目和贡献者:
理论研究
预训练模型
文本前端推理工具
WebUI 工具
感谢 @Naozumi520 提供粤语训练数据集,并在粤语相关知识方面给予指导。
感谢所有贡献者的辛勤付出
版本历史
20250606v2pro2025/06/0620250422v42025/04/2220250228v32025/02/2820240821v22024/08/21常见问题
相似工具推荐
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
TTS
🐸TTS 是一款功能强大的深度学习文本转语音(Text-to-Speech)开源库,旨在将文字自然流畅地转化为逼真的人声。它解决了传统语音合成技术中声音机械生硬、多语言支持不足以及定制门槛高等痛点,让高质量的语音生成变得触手可及。 无论是希望快速集成语音功能的开发者,还是致力于探索前沿算法的研究人员,亦或是需要定制专属声音的数据科学家,🐸TTS 都能提供得力支持。它不仅预置了覆盖全球 1100 多种语言的训练模型,让用户能够即刻上手,还提供了完善的工具链,支持用户利用自有数据训练新模型或对现有模型进行微调,轻松实现特定风格的声音克隆。 在技术亮点方面,🐸TTS 表现卓越。其最新的 ⓍTTSv2 模型支持 16 种语言,并在整体性能上大幅提升,实现了低于 200 毫秒的超低延迟流式输出,极大提升了实时交互体验。此外,它还无缝集成了 🐶Bark、🐢Tortoise 等社区热门模型,并支持调用上千个 Fairseq 模型,展现了极强的兼容性与扩展性。配合丰富的数据集分析与整理工具,🐸TTS 已成为科研与生产环境中备受信赖的语音合成解决方案。
LocalAI
LocalAI 是一款开源的本地人工智能引擎,旨在让用户在任意硬件上轻松运行各类 AI 模型,包括大语言模型、图像生成、语音识别及视频处理等。它的核心优势在于彻底打破了高性能计算的门槛,无需昂贵的专用 GPU,仅凭普通 CPU 或常见的消费级显卡(如 NVIDIA、AMD、Intel 及 Apple Silicon)即可部署和运行复杂的 AI 任务。 对于担心数据隐私的用户而言,LocalAI 提供了“隐私优先”的解决方案,确保所有数据处理均在本地基础设施内完成,无需上传至云端。同时,它完美兼容 OpenAI、Anthropic 等主流 API 接口,这意味着开发者可以无缝迁移现有应用,直接利用本地资源替代云服务,既降低了成本又提升了可控性。 LocalAI 内置了超过 35 种后端支持(如 llama.cpp、vLLM、Whisper 等),并集成了自主 AI 代理、工具调用及检索增强生成(RAG)等高级功能,且具备多用户管理与权限控制能力。无论是希望保护敏感数据的企业开发者、进行算法实验的研究人员,还是想要在个人电脑上体验最新 AI 技术的极客玩家,都能通过 LocalAI 获
bark
Bark 是由 Suno 推出的开源生成式音频模型,能够根据文本提示创造出高度逼真的多语言语音、音乐、背景噪音及简单音效。与传统仅能朗读文字的语音合成工具不同,Bark 基于 Transformer 架构,不仅能模拟说话,还能生成笑声、叹息、哭泣等非语言声音,甚至能处理带有情感色彩和语气停顿的复杂文本,极大地丰富了音频表达的可能性。 它主要解决了传统语音合成声音机械、缺乏情感以及无法生成非语音类音效的痛点,让创作者能通过简单的文字描述获得生动自然的音频素材。无论是需要为视频配音的内容创作者、探索多模态生成的研究人员,还是希望快速原型设计的开发者,都能从中受益。普通用户也可通过集成的演示页面轻松体验其神奇效果。 技术亮点方面,Bark 支持商业使用(MIT 许可),并在近期更新中实现了显著的推理速度提升,同时提供了适配低显存 GPU 的版本,降低了使用门槛。此外,社区还建立了丰富的提示词库,帮助用户更好地驾驭模型生成特定风格的声音。只需几行 Python 代码,即可将创意文本转化为高质量音频,是连接文字与声音世界的强大桥梁。
airi
airi 是一款开源的本地化 AI 伴侣项目,旨在将虚拟角色(如“二次元老婆”或赛博生命)带入用户的现实世界。它的核心目标是复刻并超越知名 AI 主播 Neuro-sama 的能力,让用户能够拥有完全自主掌控、可私有化部署的智能伙伴。 airi 主要解决了用户对高度定制化、具备情感交互能力且数据隐私安全的 AI 角色的需求。不同于依赖云端服务的通用助手,airi 允许用户在本地运行,不仅保护了对话隐私,还赋予了用户定义角色性格与灵魂的自由。它支持实时语音聊天,甚至能直接参与《我的世界》(Minecraft)和《异星工厂》(Factorio)等游戏,实现了从单纯对话到共同娱乐的跨越。 这款工具非常适合喜爱虚拟角色的普通用户、希望搭建个性化 AI 陪伴的技术爱好者,以及研究多模态交互的开发者。其独特的技术亮点在于跨平台支持(涵盖 Web、macOS 和 Windows)以及强大的游戏交互能力,让 AI 不仅能“说”,还能“玩”。通过容器化的灵魂设计,airi 为每个人创造专属数字生命提供了可能,让虚拟陪伴变得更加真实且触手可及。
MockingBird
MockingBird 是一款开源的实时语音克隆工具,旨在让用户仅需 5 秒的参考音频,即可快速合成任意内容的语音,并实现逼真的音色复刻。它有效解决了传统语音合成技术中数据采集成本高、训练周期长以及难以实时生成的痛点,让个性化语音生成变得触手可及。 这款工具特别适合开发者、AI 研究人员以及对语音技术感兴趣的技术爱好者使用。无论是用于构建交互式语音应用、进行声学模型研究,还是制作创意内容,MockingBird 都能提供强大的支持。普通用户若具备基础的编程环境配置能力,也可通过其提供的 Web 服务或工具箱体验前沿的变声效果。 在技术亮点方面,MockingBird 基于 PyTorch 框架,不仅完美支持中文普通话及多种主流数据集,还实现了跨平台运行,兼容 Windows、Linux 乃至 M1 架构的 macOS。其独特的架构设计允许复用预训练的编码器与声码器,只需微调合成器即可获得出色效果,大幅降低了部署门槛。此外,项目内置了现成的 Web 服务器功能,方便用户通过远程调用快速集成到自己的应用中。尽管原作者已转向云端优化版本,但 MockingBird 作为经典的本地部署方案
