原来你需要的不是答案,而是时间。
so-vits-svc是基于VITS的开源项目,VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)是一种结合变分推理(variational inference)、标准化流(normalizing flows)和对抗训练的高表现力语音合成模型。
基于Python3.10的开源库so-vits-svc
踩坑记
- 模型训练需要英伟达显卡,我的mac配置很高,没有。(如果已经获得模型文件,去运行推理是没有问题的)
- 电脑配置低,或者像我一样没有英伟达显卡的可以使用(不推荐)google的colab。有一定技术门槛,需要懂程序代码;需要翻墙;虽然免费但是每天有使用时长限制,我在模型训练运行中就直接给我断了。
-
人声伴奏分离不要使用 Spleeter,需要下载几个G的文件和模型,我使用后觉得效果很差。https://vocalremover.org/ 这个网站效果很好了,不用注册,简单易使用,几分钟搞定,如果想要专业点,使用UVR5 (Ultimate Vocal Remover),它目前是最优秀的人声伴奏分离工具之一,而且开源免费,开源地址:https://github.com/Anjok07/ultimatevocalremovergui ,windows和mac版本都有,也需要英伟达显卡,不过没有也可以用,就是差点意思。可以根据不同类型、乐器、背景音乐等去选择不同的算法,分离后的效果是不一样的,对于一般的歌曲来说差别似乎不是很大。需要时间去学习了解这个软件,追求高品质的同学要用它。这里有不错的介绍最强 AI 人声伴奏分离工具 UVR5,更新5.5版本
- 底模文件直接去官网下载,放到代码指定目录中。
- 这个开源库(so-vits-svc)已经停止更新,分支有好几个,使用默认 stable 分支,请先仔细查看readme文档说明。
- 训练模型需要使用的音频文件质量很关键,直接影响模型质量,推理质量。宁缺毋滥。这是一项庞大的工作,要有耐心。
- 推理的最终效果不好不一定是模型的问题,有可能是你想要让模型人物唱的歌并不适合模型人物,比如模型训练了一个男声,几乎都是低音素材,你要让他去唱韩红的青藏高原,他必然唱不上去的,沙哑或跑调或直接刺啦声了。
- 无论训练的是歌手还是动漫人物,都涉及到侵权问题,请慎重传播。
环境配置
首先确保本机已经安装好Python3.+的开发环境,这里我使用的是python3.9.0,随后使用Git命令克隆项目:
git clone https://github.com/svc-develop-team/so-vits-svc.git
随后进入项目的目录:
cd so-vits-svc
接着安装依赖,如果是Linux或者Mac系统,运行命令:
pip3 install -r requirements.txt
依赖库安装成功之后,在项目的根目录运行命令,启动服务:
python webUI.py
安装 wget
brew install wget
wget --version
预先下载的模型文件,1.3G,需要一点时间。
根目录下
wget -P pretrain/ http://obs.cstcloud.cn/share/obs/sankagenkeshi/checkpoint_best_legacy_500.pt
由于mac坑太多,且存在诸多不便,台式机安排上。