【AI歌聲 / sovits】在 so-vits-svc 4.1 中訓(xùn)練與推理 4.0 版本模型的方法
so-vits?4.1?將默認(rèn)的聲音特征輸入更換為了?ContentVec 第 12 層 Transformer 輸出(簡稱 vec768l12),而 4.0 版本默認(rèn)使用的是 ContentVec 第 9?層 Transformer?輸出(簡稱?vec256l9)。因此,4.1 版本的模型結(jié)構(gòu)也與 4.0 版本產(chǎn)生了區(qū)別。但?so-vits?4.1?版本仍然支持 4.0 版本模型的推理與訓(xùn)練,只是需要更改一些參數(shù)??偨Y(jié)歸納如下:
1. 在?config 文件中,如果需要適配 so-vits 4.0 的 vec256l9 模型,則將以下選項設(shè)為指定的值:
"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;
2.?也存在直接生成對應(yīng)的 config 文件的方法,在調(diào)用?preprocess_flist_config.py 時指定 --speech_encoder 命令行參數(shù) 為?vec256l9 即可。但需要注意的是,需要將生成的 config?文件中的?filter_channels 項改為?768,否則模型結(jié)構(gòu)還是與 4.0 版本不兼容;
3. 在進(jìn)行數(shù)據(jù)集預(yù)處理,即調(diào)用 preprocess_hubert_f0.py 時,指定 F0 預(yù)測器(--f0_predictor 命令行參數(shù))為 dio。因為 so-vits 4.0 在數(shù)據(jù)集預(yù)處理時使用的就是 dio 預(yù)測器(但在推理時使用的是 pm 預(yù)測器)。不同 F0 預(yù)測器具有不同的效果,可以自行測試一下。