Skip to content
This repository was archived by the owner on Mar 9, 2023. It is now read-only.
/ diff-svc Public archive

An Implementation of Singing Voice Conversion Based on Diffsinger

License

Notifications You must be signed in to change notification settings

innnky/diff-svc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ab88814 · Feb 20, 2023

History

18 Commits
Dec 24, 2022
Dec 27, 2022
Dec 26, 2022
Dec 25, 2022
Dec 31, 2022
Dec 24, 2022
Dec 27, 2022
Dec 25, 2022
Dec 24, 2022
Dec 24, 2022
Feb 20, 2023
Dec 24, 2022
Dec 25, 2022
Dec 25, 2022
Dec 31, 2022
Dec 25, 2022
Dec 25, 2022
Dec 24, 2022
Dec 25, 2022
Dec 25, 2022

Repository files navigation

diff-svc

基于DiffSinger非官方仓库 实现的 diffsvc

该模型已经弃坑,训练diffsvc可以去openvpi维护的版本 或是 冷月佬维护的版本
暂时依然在开发测试中 (已经弃坑), 训练应该是没问题的,但推理脚本目前不太完善,还没整合切片机
暂时测试的结论是,当数据集人数过多(比如六七十个人)时音色泄漏会加重,而5个人左右音色泄漏和则单人情况基本差不多
目前可以看到有一堆分支,都是在测试中的各种方案
sr分支(中文hubert+freevc数据增强5倍):中文hubert优化了咬字,数据增强缓解了音色泄漏以及变调问题
discrete分支:使用kmeans聚类对hubert进行离散化,真正完全消除了音色泄漏问题,但是咬字炸了
freevc_encoder分支:使用freevc的预训练模型中的encoder替换softvc hubert,测试下来效果和softvc类似

简介

基于Diffsinger + softvc 实现歌声音色转换。相较于原diffsvc仓库,本仓库优缺点如下

  • 支持多说话人
  • 本仓库基于非官方diffsinger仓库修改实现,代码结构更加简单易懂
  • 声码器同样使用 441khz diffsinger社区声码器
  • 不支持加速

提前下载的文件

  • softvc hubert (hubert-soft-0d54a1f4.pt)放在hubert目录下
  • 441khz diffsinger社区声码器 (model)放在hifigan目录下

数据集准备

仅需要以以下文件结构将数据集放入dataset_raw目录即可

dataset_raw
├───speaker0
│   ├───xxx1-xxx1.wav
│   ├───...
│   └───Lxx-0xx8.wav
└───speaker1
    ├───xx2-0xxx2.wav
    ├───...
    └───xxx7-xxx007.wav

数据预处理

整体基本类似sovits3.0

  1. 重采样
python resample.py
  1. 自动划分训练集 验证集 测试集
python preprocess_flist_config.py
  1. 生成hubert、f0、mel与stats
python preprocess_hubert_f0.py && python gen_stats.py

执行完以上步骤后 dataset 目录便是预处理完成的数据,可以删除dataset_raw文件夹, 也可以删除重采样后的临时wav文件rm dataset/*/*.wav

训练

python3 train.py --model naive --dataset ms --restore_step RESTORE_STEP 

推理

inference.py

About

An Implementation of Singing Voice Conversion Based on Diffsinger

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages