后续维护等工作的一些其他相关仓库:
本项目为开源、离线的项目,SvcDevelopTeam 的所有成员与本项目的所有开发者以及维护者(以下简称贡献者)对本项目没有控制力。本项目的贡献者从未向任何组织或个人提供包括但不限于数据集提取、数据集加工、算力支持、训练支持、推理等一切形式的帮助;本项目的贡献者不知晓也无法知晓使用者使用该项目的用途。故一切基于本项目训练的 AI 模型和合成的音频都与本项目贡献者无关。一切由此造成的问题由使用者自行承担。
此项目完全离线运行,不能收集任何用户信息或获取用户输入数据。因此,这个项目的贡献者不知道所有的用户输入和模型,因此不负责任何用户输入。
本项目只是一个框架项目,本身并没有语音合成的功能,所有的功能都需要用户自己训练模型。同时,这个项目没有任何模型,任何二次分发的项目都与这个项目的贡献者无关。
诈尸一下,4.0-v2不少人炼出来效果很烂,那我就把这分支直接删了 \ 更新了4.0-v2模型,全部流程同4.0,在4.0-v2分支 这是sovits最后一次更新 \ 4.0模型及colab脚本已更新:在4.0分支 统一采样率使用44100hz(但推理显存占用比3.0的32khz还小),更换特征提取为contentvec, 目前稳定性还没有经过广泛测试
据不完全统计,多说话人似乎会导致音色泄漏加重,不建议训练超过5人的模型,目前的建议是如果想炼出来更像目标音色,尽可能炼单说话人的\ 断音问题已解决,音质提升了不少\ 2.0版本已经移至 sovits_2.0分支\ 3.0版本使用FreeVC的代码结构,与旧版本不通用\ 与DiffSVC 相比,在训练数据质量非常高时diffsvc有着更好的表现,对于质量差一些的数据集,本仓库可能会有更好的表现,此外,本仓库推理速度上比diffsvc快很多
歌声音色转换模型,通过SoftVC内容编码器提取源音频语音特征,与F0同时输入VITS替换原本的文本输入达到歌声转换的效果。同时,更换声码器为 NSF HiFiGAN 解决断音问题
hubert
目录下logs/32k
目录下optimizer speaker_embedding
等无关权重, 只可以用于初始化训练,无法用于推理
# 一键下载
# hubert
wget -P hubert/ https://github.com/bshall/hubert/releases/download/v0.1/hubert-soft-0d54a1f4.pt
# G与D预训练模型
wget -P logs/32k/ https://huggingface.co/innnky/sovits_pretrained/resolve/main/G_0.pth
wget -P logs/32k/ https://huggingface.co/innnky/sovits_pretrained/resolve/main/D_0.pth
## colab一键数据集制作、训练脚本
[一键colab](https://colab.research.google.com/drive/1_-gh9i-wCPNlRZw6pYF-9UufetcVrGBX?usp=sharing)
## 数据集准备
仅需要以以下文件结构将数据集放入dataset_raw目录即可
```shell
dataset_raw
├───speaker0
│ ├───xxx1-xxx1.wav
│ ├───...
│ └───Lxx-0xx8.wav
└───speaker1
├───xx2-0xxx2.wav
├───...
└───xxx7-xxx007.wav
python resample.py
python preprocess_flist_config.py
# 注意
# 自动生成的配置文件中,说话人数量n_speakers会自动按照数据集中的人数而定
# 为了给之后添加说话人留下一定空间,n_speakers自动设置为 当前数据集人数乘2
# 如果想多留一些空位可以在此步骤后 自行修改生成的config.json中n_speakers数量
# 一旦模型开始训练后此项不可再更改
python preprocess_hubert_f0.py
执行完以上步骤后 dataset 目录便是预处理完成的数据,可以删除dataset_raw文件夹了
python train.py -c configs/config.json -m 32k
model_path
为你自己训练的最新模型记录点raw
文件夹下clean_names
写待转换的音频名称trans
填写变调半音数量spk_list
填写合成的说话人名称checkpoints
并打开checkpoints
文件夹中新建一个文件夹作为项目文件夹,文件夹名为你的项目名称,比如aziplayer
model.pth
,配置文件更名为config.json
,并放置到刚才创建的aziplayer
文件夹下path = "NyaruTaffy"
的 "NyaruTaffy"
修改为你的项目名称,path = "aziplayer"
model.onnx
,即为导出的模型model_onnx_48k.py
SynthesizerTrn
的hps中sampling_rate
32000改为48000任何组织或者个人不得以丑化、污损,或者利用信息技术手段伪造等方式侵害他人的肖像权。未经肖像权人同意,不得制作、使用、公开肖像权人的肖像,但是法律另有规定的除外。未经肖像权人同意,肖像作品权利人不得以发表、复制、发行、出租、展览等方式使用或者公开肖像权人的肖像。对自然人声音的保护,参照适用肖像权保护的有关规定。
【名誉权】民事主体享有名誉权。任何组织或者个人不得以侮辱、诽谤等方式侵害他人的名誉权。
【作品侵害名誉权】行为人发表的文学、艺术作品以真人真事或者特定人为描述对象,含有侮辱、诽谤内容,侵害他人名誉权的,受害人有权依法请求该行为人承担民事责任。行为人发表的文学、艺术作品不以特定人为描述对象,仅其中的情节与该特定人的情况相似的,不承担民事责任。