几何尺寸与公差论坛

 找回密码
 注册
查看: 900|回复: 1

AI 孙燕姿

[复制链接]
发表于 2023-5-9 09:48:31 | 显示全部楼层 |阅读模式
 楼主| 发表于 2023-5-9 09:49:18 | 显示全部楼层
SoVitsSvc:唱歌声音转换

图片

项目地址:https://github.com/svc-develop-team/so-vits-svc
歌声转换模型使用SoftVC内容编码器来提取源音频语音特征,然后将向量直接送入VITS,而不是转换为基于文本的中间格式。因此,音高和音调都可以被保留下来。
此外,项目开发者还通过采用NSF HiFiGAN作为声码器(vocoder),从而解决了声音中断的问题。
图片
· 特征输入改为Content Vec · 采样率统一使用44100Hz
· 由于参数的改变,以及模型结构的精简,推理所需的GPU显存明显减少。
· 增加选项1:vc模式的自动音高预测,这意味着在转换语音时不需要手动输入音高键,男声和女声的音高可以自动转换。但是,这种模式在转换歌曲时,会造成音高偏移。
· 增加选项2:通过k-means聚类方案减少音色泄漏,使音色与目标音色更相似。
· 增加选项3:增加NSF-HIFIGAN增强器,对一些训练集少的模型有一定的音质增强效果,但对训练好的模型有负面影响,所以默认关闭。
预训练模型文件
将checkpoint_best_legacy_500.pt放在hubert目录下。
将G_0.pth和D_0.pth放在logs/44k目录下。
预处理
0. 音频切片
利用audio-slicer-GUI或audio-slicer-CLI工具,将原始音频切片至5秒-15秒。
长一点也没问题,但太长(比如30秒)可能会在训练甚至预处理时导致「torch.cuda.OutOfMemoryError」,俗称爆显存。
切片后,删除过长和过短的音频。
1. 重采样至44100Hz和单声道
python resample.py
2. 自动将数据集分成训练集和验证集,并生成配置文件
python preprocess_flist_config.py
3. 生成hubert和f0
python preprocess_hubert_f0.py
完成上述步骤后,dataset目录将包含预处理的数据,dataset_raw文件夹可以被删除。
现在,你可以修改生成的config.json中的一些参数——
keep_ckpts:在训练中保留最后的keep_ckpts模型。设置为0将保留所有模型,默认是3。
all_in_mem:将所有数据集加载到RAM中。当某些平台的磁盘IO太低,而系统内存比你的数据集大得多时,可以启用。
训练
python train.py -c configs/config.json -m 44k
推理
模型在需要使用「inference_main.py」。
举个例子:
python inference_main.py -m "logs/44k/G_30400.pth" -c "configs/config.json" -s "nen" -n "君の知らない物語-src.wav" -t 0
虽然原始项目组现已停止维护,但有不少网友都进行了fork并且也做了一些更新。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|几何尺寸与公差论坛

GMT+8, 2024-12-22 12:52 , Processed in 0.037633 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表