SO-VITS 4.1
So-VITS-SVC 4.1是一个语音处理领域的开源项目,它在So-VITS-SVC 4.0版本的基础上进行了重要的结构性更新。本页面将介绍SO-VITS 4.1的新特性、模型结构的变化以及如何适配不同版本的模型。
简介
SO-VITS 4.1是一个用于语音处理的深度学习模型,它引入了名为ContentVec的特征提取器,并在4.0版本的基础上进行了改进。最显著的变化之一是在默认的声音特征输入方面。在SO-VITS 4.1中,默认的声音特征输入被更换为了ContentVec的第12层Transformer输出(简称vec768l12),而在4.0版本中,默认使用的是ContentVec的第9层Transformer输出(简称vec256l9)。这个变化导致了4.1版本的模型结构与4.0版本产生了区别。
模型结构变化
在SO-VITS 4.1中,声音特征输入的变化主要体现在两个关键参数上:
- 对于适配SO-VITS 4.0的vec256l9模型,需要将以下选项设置为指定的值:
"filter_channels": 768, "gin_channels": 256, "ssl_dim": 256, "speech_encoder": "vec256l9"
- 对于使用SO-VITS 4.1的vec768l12模型,配置选项如下:
"filter_channels": 768, "gin_channels": 768, "ssl_dim": 768, "speech_encoder": "vec768l12"
需要注意的是,这两种模型的filter_channels参数均为768。
此外,So-VITS-SVC 4.1还提供了一种直接生成对应配置文件的方法。在调用preprocess_flist_config.py时,可以通过命令行参数–speech_encoder指定模型版本,例如–speech_encoder为vec256l9。然而,需要注意的是,生成的配置文件中的filter_channels项必须手动修改为768,否则模型结构仍然与4.0版本不兼容。
数据集预处理
在进行数据集预处理时,需要指定F0预测器(–f0_predictor命令行参数)。在SO-VITS 4.0中,数据集预处理时使用的是dio预测器,但在推理时使用的是pm预测器。在SO-VITS 4.1中,建议将F0预测器设置为dio,以保持与4.0版本的兼容性。然而,不同的F0预测器具有不同的效果,可以根据需求进行测试和选择。