Black technology based on the three giants of artificial intelligence:
OpenAI's whisper, 680,000 hours in multiple languages
Nvidia's bigvgan, anti-aliasing for speech generation
Microsoft's adapter, high-efficiency for fine-tuning
洛拉(Lora)在该项目中尚未完全实施,但可以在这里找到:
使用预处理模型微调
必要的预处理:
然后根据以下文件结构将数据集放入data_raw目录中
data_raw
├───speaker0
│ ├───000001.wav
│ ├───...
│ └───000xxx.wav
└───speaker1
├───000001.wav
├───...
└───000xxx.wav1个软件依赖性
pip install -r要求.txt
2下载 @mueller91的timbre编码器:扬声器编码器,将best_model.pth.tar放入speaker_pretrain/
3下载Whisper模型多语言媒介模型,请确保下载medium.pt ,将其放入whisper_pretrain/
提示:窃窃私语是内置的,不要再安装,它将冲突并报告错误
4下载预告架模型maxgan_pretrain_32k.pth,并进行测试
python svc_inference.py--config configs/maxgan.yaml -model maxgan_pretrain_32k.pth -spk ./configs/singers/singers/singer0001.npy -wave -wave -wave test.wav
如果要自动化此命令,请使用此命令:
python3准备/easyprocess.py
或一步一步,如下:
1,重新采样
以16000Hz的采样率生成音频
python准备/preprocess_a.py -w ./data_raw -o ./data_svc/waves-16k -s 16000
以32000Hz的采样率生成音频
Python准备/preprocess_a.py -w ./data_raw -o ./data_svc/waves-32k -s 32000
2,使用16k音频提取音高
python准备/preprocess_f0.py -w data_svc/waves -16k/-p data_svc/pitch
3,使用16k音频提取PPG
python准备/preprocess_ppg.py -w data_svc/waves -16k/-p data_svc/hisper
4,使用16k音频提取音色代码
Python准备/preprocess_speaker.py data_svc/waves-16k/data_svc/扬声器
5,提取推理的歌手代码
python准备/preprocess_speaker_ave.py data_svc/speaker/data_svc/singer
6,使用32K音频生成培训指数
python准备/preprocess_train.py
7,培训文件调试
python准备/preprocess_zzz.py -c configs/maxgan.yaml
data_svc/
└── waves-16k
│ └── speaker0
│ │ ├── 000001.wav
│ │ └── 000xxx.wav
│ └── speaker1
│ ├── 000001.wav
│ └── 000xxx.wav
└── waves-32k
│ └── speaker0
│ │ ├── 000001.wav
│ │ └── 000xxx.wav
│ └── speaker1
│ ├── 000001.wav
│ └── 000xxx.wav
└── pitch
│ └── speaker0
│ │ ├── 000001.pit.npy
│ │ └── 000xxx.pit.npy
│ └── speaker1
│ ├── 000001.pit.npy
│ └── 000xxx.pit.npy
└── whisper
│ └── speaker0
│ │ ├── 000001.ppg.npy
│ │ └── 000xxx.ppg.npy
│ └── speaker1
│ ├── 000001.ppg.npy
│ └── 000xxx.ppg.npy
└── speaker
│ └── speaker0
│ │ ├── 000001.spk.npy
│ │ └── 000xxx.spk.npy
│ └── speaker1
│ ├── 000001.spk.npy
│ └── 000xxx.spk.npy
└── singer
├── speaker0.spk.npy
└── speaker1.spk.npy0,如果基于预训练的模型进行微调,则需要下载预培训的模型:Maxgan_pretrain_32k.pth
设置预告片:“ ./maxgan_pretrain_32k.pth”中的configs/maxgan.yaml,并适当调整学习率,例如1E-5
1,开始训练
python svc_trainer.py -c configs/maxgan.yaml -n svc
2,简历培训
python svc_trainer.py -c configs/maxgan.yaml -n svc -p chkpt/svc/***。
3,查看日志
张板 - logdir logs/

如果您想要在下面执行所有命令的GUI,请使用此命令:
python3 svc_gui.py
或一步一步,如下:
1,导出推理模型
python svc_export.py--config configs/maxgan.yaml -checkpoint_path chkpt/svc/***。
2,使用耳语来提取内容编码,而无需使用一键推理,以减少GPU内存使用情况
python whisper/temprence.py -w test.wav -p test.ppg.npy
3,将F0参数提取到CSV文本格式
python pitch/terperion.py -w test.wav -p test.csv
4,指定参数并推断
python svc_inference.py--config configs/maxgan.yaml -model maxgan_g.pth -spk./data_svc/singers/your_singer.npy.npy-wave-wave-wave-wave test.wav -pppg -pppg -ppt test.ppt test.ppt test.csv.csv.csv.csv.csv.csv.csv.csv.csv.csv.csv.csv.csv.csv.csv.csv.csv.csv
当指定-ppg时,当多次合理相同的音频时,它可以避免重复提取音频内容代码;如果未指定,它将自动提取;
指定-pit时,可以加载手动调谐的F0参数;如果未指定,它将自动提取;
在当前目录中生成文件:svc_out.wav
| args | -Config | - 模型 | - -Spk | - 海浪 | -ppg | - 坑 | - 转移 |
|---|---|---|---|---|---|---|---|
| 姓名 | 配置路径 | 模型路径 | 扬声器 | 波输入 | 波PPG | 波螺距 | 俯仰变速 |
5,由VAD发布
python svc_inference_post.py -ref test.wav -svc svc_out.wav -out svc_post.wav
基于适配器的新扬声器的多演讲者文本到语音模型的扩展
Adaspeech:自适应文字到语音的语音语音
https://github.com/nii-yamagishilab/project-nn-pytorch-scripts/tree/master/master/project/01-nsf
https://github.com/mindslab-ai/univnet [Paper]
https://github.com/openai/whisper/ [纸]
https://github.com/nvidia/bigvgan [Paper]