逆天!1分钟克隆你的声音?狂揽4.5w颗星星,这个火爆项目你绝不能错过!
原创 GitHubStore GitHubStore 2025年04月22日 10:11 湖北
大家好,我是每日给大家推荐优秀开源项目的小G!
今天必须给大家安利一个炸裂的项目!开源2星期,狂揽4.5w颗星星
你有没有想象过,有一天AI能用你的声音、或者任何你喜欢的声音来讲故事、读文章、甚至唱歌?而且,不是那种需要海量数据、复杂训练的“大工程”, 输入5 秒的声音样本, 即刻体验文本到语音转换,仅短短需 1 分钟的训练数据即可微调模型, 提升声音相似度和真实感?
是不是觉得有点科幻?放在以前,小G我也觉得悬。但现在,真的有大神把它变成了现实!这个项目在GitHub上已经火到不行🔥,无数技术宅、内容创作者为之疯狂。如果你对AI、对声音、对创造充满好奇,那请一定、一定、一定要往下看!错过它,你可能会错过一个“魔法工具”!
今天的主角,就是 GPT-SoVITS !先看下CRV:
GPT-SoVITS 是何方神圣?
简单来说,它是一个结合了 GPT (生成式预训练模型) 的强大语言理解能力和 SoVITS (一种高质量声音转换技术) 优点的“声音魔法盒”。
它主要能干两件大事:
- 零样本/少样本 TTS (文本转语音):
你可以丢给它一段文字,再指定一个你喜欢的参考声音(甚至不需要训练!),它就能模仿那个声音把文字读出来。更厉害的是,你只需要提供 短短1分钟目标声音的干净录音进行微调训练,它就能高度还原这个声音的音色和韵味,效果惊艳!
- 跨语言声音转换:
支持多种语言,比如你用中文输入,选择一个日语的声音模型,它就能用那个日语声音的腔调说出中文来,反之亦然。这可玩性,简直了!
想象一下,用你偶像的声音给你读睡前故事?或者把你自己的声音“移植”到各种有趣的AI应用里?GPT-SoVITS 让这一切触手可及!
手把手教你安装部署 GPT-SoVITS
好啦好啦,知道你已经摩拳擦掌了!想把这个“声音魔法师”请回家,确实需要点耐心和细心,但别担心,跟着小G(其实是跟着官方文档啦)一步步来,你也能搞定!咱们开始吧!🛠️
第一步:准备好“施法环境”
-
基础工具:
- Git:
你需要用它来下载项目代码。没有的话,搜一下“Git 安装”搞定它。
- Python:
版本很关键!官方指定要用 Python 3.9 或 3.10。可以在你的命令行输入
python --version
检查一下。版本不对?赶紧去Python官网下载个合适的版本。
- Git:
-
强烈推荐:使用 Conda 管理环境为了避免跟你电脑里其他Python项目打架(库版本冲突很头疼的!),强烈建议用
conda
创建一个独立、干净的“小窝”给 GPT-SoVITS。如果你没装 Conda,可以搜一下 “Anaconda 安装”,下载安装一个(自带 Python 和 conda)。 打开你的 Anaconda Prompt 或者系统终端(命令行),执行:
# 示例:安装支持 CUDA 11.8 的 PyTorch (请替换成官网给你的命令!)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
第二步 手动安装
安装 FFmpeg
Conda 用户
conda install ffmpeg
Ubuntu/Debian 用户
sudo apt install ffmpeg
sudo apt install libsox-dev
conda install -c conda-forge 'ffmpeg<7'
Windows 用户
下载并将 ffmpeg.exe 和 ffprobe.exe 放置在 GPT-SoVITS 根目录下.
安装 Visual Studio 2017 环境(仅限韩语 TTS)
MacOS 用户
brew install ffmpeg
安装依赖
pip install -r extra-req.txt --no-deps
pip install -r requirements.txt
在 Docker 中使用
docker-compose.yaml 设置
-
image 的标签: 由于代码库更新很快, 镜像的打包和测试又很慢, 所以请自行在 Docker Hub(旧版本) 查看当前打包好的最新的镜像并根据自己的情况选用, 或者在本地根据您自己的需求通过 Dockerfile 进行构建.
-
环境变量:
-
is_half: 半精度/双精度控制.在进行 "SSL extracting" 步骤时如果无法正确生成 4-cnhubert/5-wav32k 目录下的内容时, 一般都是它引起的, 可以根据实际情况来调整为 True 或者 False.
-
Volume 设置, 容器内的应用根目录设置为 /workspace. 默认的 docker-compose.yaml 中列出了一些实际的例子, 便于上传/下载内容.
-
shm_size: Windows 下的 Docker Desktop 默认可用内存过小, 会导致运行异常, 根据自己情况酌情设置.
-
deploy 小节下的 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 9880:9880 -p 9871:9871 -p 9872:9872 -p 9873:9873 -p 9874:9874 --shm-size="16G" -d breakstring/gpt-sovits:xxxxx
预训练模型
若成功运行install.sh
可跳过 No.1,2,3
中国地区的用户可以在此处下载这些模型.
-
从 GPT-SoVITS Models 下载预训练模型, 并将其放置在
GPT_SoVITS/pretrained_models
目录中. -
从 G2PWModel.zip(HF)| G2PWModel.zip(ModelScope) 下载模型, 解压并重命名为
G2PWModel
, 然后将其放置在GPT_SoVITS/text
目录中. (仅限中文 TTS) -
对于 UVR5 (人声/伴奏分离和混响移除, 额外功能), 从 UVR5 Weights 下载模型, 并将其放置在
tools/uvr5/uvr5_weights
目录中.-
如果你在 UVR5 中使用
bs_roformer
或mel_band_roformer
模型, 你可以手动下载模型和相应的配置文件, 并将它们放在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 文件格式:
vocal_path|speaker_name|language|text
语言字典:
-
'zh': 中文
-
'ja': 日语
-
'en': 英语
-
'ko': 韩语
-
'yue': 粤语
示例:
D:\GPT-SoVITS\xxx/xxx.wav|xxx|zh|我爱玩原神.
项目传送门在此!
项目链接
https://github.com/RVC-Boss/GPT-SoVITS/blob/main/docs/cn/README.md
快去开启你的声音魔法之旅吧!如果你发现了什么有趣的玩法,也欢迎在评论区分享给大家哦!下次再有好项目,小G我继续给你推荐!回见!