RVC-Project / Retrieval-based-Voice-Conversion-WebUI

Easily train a good VC model with voice data <= 10 mins!
MIT License
24.86k stars 3.65k forks source link

一到高音就哑火 #2266

Closed hpx502766238 closed 3 months ago

hpx502766238 commented 3 months ago

RVC-DiffusionSVC-soprano-test.zip 推理源:input_ZSZY.wav,萨顶顶的左手指着月干声。 推理结果1:output_ZSZY_RVC.wav: 使用RVC训练的模型 训练参数: embbeder:contentvec f0预测器:crepe 预训练模型:SingerPretrain(RVC_V2_32K)(用Applio训练的,核心还是RVC,https://docs.applio.org/getting-started/pretrained#singerpretrain-by-szte) 训练epoch:845 推理参数与训练相同

推理结果2:output_ZSZY_DiffusionSVC.wav 使用隔壁DiffusionSVC训练的模型:https://github.com/CNChTu/Diffusion-SVC 训练参数: embbeder:contentvec768l12 f0预测器:crepe 声码器:nsf-hifigan(经过fishaudio微调的版本,音域覆盖50-1200Hz,https://github.com/fishaudio/fish-diffusion/releases/tag/v2.0.0) 训练epoch:210000 diffusion ,210000 naive.使用最终组合模型 推理参数与训练相同

1.实验结果表明,RVC模型一开始飙高音就哑火。。DiffusionSVC模型正常,但咬字不如RVC清晰 2.训练使用的同一数据集。数据集为下载的无损音乐,已做了干声提取和AU后期处理,非常干净,音域全覆盖A3-G6,总共时长1h。 3.训练之前已经修改各个预测器代码参数f0_max到1600Hz了,也尝试过换成rmvpe预测器重新训练,但rmvpe的高音预测有些断断续续的而且有很多跳跃,最终效果还不如crepe。 4.试过更换预训练模型,然并卵。

jzfed commented 3 months ago

为什么没用默认的预训练底模?你要说哑火也不至于全哑火,某个高音挂掉的情况,一般都是训练的干声音域覆盖不全,或者推理源没处理干净,可能是还残存有和音。 换换默认的预训练底模试试。高音全破可能是你底模有问题。

jzfed commented 3 months ago

epoch并不是越高越好,我训练的total_epoch 20的竟然比400的还好,气吐血。这是玄学。

hpx502766238 commented 3 months ago

epoch并不是越高越好,我训练的total_epoch 20的竟然比400的还好,气吐血。这是玄学。

epoch高低都试过了,底模也换过好几个(不过默认底模确实还没试过,但这个singerpretrain作者也说了音域全覆盖了,)。epoch 500多的 400多的 效果逗差不多,都是高音断断续续

hpx502766238 commented 3 months ago

为什么没用默认的预训练底模?你要说哑火也不至于全哑火,某个高音挂掉的情况,一般都是训练的干声音域覆盖不全,或者推理源没处理干净,可能是还残存有和音。 换换默认的预训练底模试试。高音全破可能是你底模有问题。

数据集应该没啥问题,已经来回用au排查了n遍了,呼吸声都去的干干净净,音域也是全覆盖的

hpx502766238 commented 3 months ago

为什么没用默认的预训练底模?你要说哑火也不至于全哑火,某个高音挂掉的情况,一般都是训练的干声音域覆盖不全,或者推理源没处理干净,可能是还残存有和音。 换换默认的预训练底模试试。高音全破可能是你底模有问题。

今天重新测了一下好像又可以了,应该还是f0预测器的限制问题,在Applio预测代码(rvc/infer/pipeline.py)里有个f0_max默认是800还是1000来着,改成1600好像又行了,虽然效果不算特别好,至少不会全哑了。下面是推理前后: 左手指月-8-27.zip