AI齋藤妮可露模型配布與經驗分享
項目地址
so-vits-svc:https://github.com/innnky/so-vits-svc
SoVits-Gradio:https://github.com/NaruseMioShirakana/SoVits-Gradio

訓練ai對電腦配置有一定的要求,請量力而行?。?!
如果只是想體驗一下請看前期準備和SoVits-Gradio,并到SoVits-Gradio(WebGUI)項目地址進行下載和使用。
如果想從頭開始訓練請看完本文,并到so-vits-svc項目地址進行下載與使用。
我把可能用到的軟件放到百度網盤了
鏈接:https://pan.baidu.com/s/1R61NQnxkqMbJRYVRPp-_hw?pwd=if2g
提取碼:if2g

前期準備
1.安裝python,最好是3.10以下的版本,如3.9/3.8——https://www.python.org/
2.安裝CUDA
打開cmd,執(zhí)行 nvidia-smi.exe 命令查看電腦的cuda版本(我的cuda版本為12.0,電腦系統(tǒng)是win11,如圖1)

到nvidia官網搜索對應的cuda版本并進行下載——developer.nvidia.com(如圖2,圖3)


在cmd里執(zhí)行 nvcc -V 命令查看是否安裝成功,如圖4(我這個是之前裝的,所以是11.7)

3.安裝代碼編輯器,vscode或者pycharm都行
4.安裝運行環(huán)境
下載項目后可以看見 requirements.txt 的文件,里面是運行所需要的第三方庫,使用 pip install -r requirements.txt 來快速安裝環(huán)境,但大概率會報錯。因此我們采用手動輸入的方式執(zhí)行。。。
打開cmd,依次執(zhí)行以下內容
5.安裝Pytorch——pytorch.org
pytorch需要與cuda和版本對應,我這里按老版本的cuda11.7為例??梢灾苯釉诠倬W上選擇對應的版本,復制下面的命令到cmd里安裝,如圖5

requirements中顯示本項目需要:torch==1.10.0+cu113,torchaudio==0.10.0+cu113。其中113為cuda11.3版本,需替換成自己的。因為目前cuda12.0版本對應的pytorch還沒出,裝11.7就行。其他版本可到這個網站尋找——torch:https://download.pytorch.org/whl/torch/;torchaudio:https://download.pytorch.org/whl/torchaudio/
Ctrl+F搜索對應版本,torch和torchaudio都要按,cp310為python版本為3.10,如圖6
打開下載的文件夾,右鍵——在終端中打開——執(zhí)行 pip install .\torch-1.13.0+cu117-cp39-cp39-win_amd64.whl 安裝torch——執(zhí)行 pip install .\torchaudio-0.13.0+cu117-cp39-cp39-win_amd64.whl 安裝torchaudio(橙色部分替換成自己下載的文件名稱)

6.推薦裝個ffmpeg
SoVits-Gradio
1.下載地址:https://github.com/NaruseMioShirakana/SoVits-Gradio/releases/tag/1.0.0
2.在網盤里下載模型:nicole.zip
3.將nicole文件夾放在?SoVits - Gradio\checkpoints 文件夾內
4.右鍵——在終端中打開——執(zhí)行?python sovits_gradio.py
5.瀏覽器中打開 http://127.0.0.1:7860/
6.先點擊?SelectModel 載入模型,再點擊 VoiceConversion 進行音頻轉換。音頻一定要是干聲!關于干聲處理可以往下看。

so-vits-svc
訓練AI
一、準備素材
1.下載底模
hubert——https://github.com/bshall/hubert/releases/download/v0.1/hubert-soft-0d54a1f4.pt
G_0.pth——https://huggingface.co/innnky/sovits_pretrained/resolve/main/G_0.pth
D_0.pth——https://huggingface.co/innnky/sovits_pretrained/resolve/main/D_0.pth
將hubert放在 so-vits-svc-32k\hubert 文件夾內
將G_0.pth和D_0.pth放在 so-vits-svc-32k\logs\32k 文件夾內
2.準備訓練素材
想訓練哪個人物就去找對應的素材,最好是干聲素材,即只有訓練的那個人說話且沒有背景音。音源的處理方法可往下翻。
3.切分音頻素材
大部分聲音素材都是很長的,我們要把他切分成6-10秒左右的wav格式的音頻。
可以使用ffmpeg進行切分。D:\ai\voice.mp3 為文件路徑;-segment_time 00:00:06 為切分成6秒的片段;D:\ai\voice%d.mp3 為輸出路徑,其中%d為輸出整數(shù),即自動命名為voice0,voice1,以此類推。
這里的voice最好替換成訓練人的姓名,如xiaoai(即:D:\ai\xiaoai%d.mp3),這個名字就是之后要訓練的模型的名字,在推理時要用到。
mp3轉wav可以用格式工廠或者ffmpeg。
二、數(shù)據(jù)預處理
1.重采樣至32khz
在 so-vits-svc-32k 文件夾內右鍵在終端中打開
執(zhí)行 python resample.py
查看 \dataset\32k 文件夾內是否有wav格式的音頻,有就是成功了
2.自動劃分訓練集 驗證集 測試集 以及自動生成配置文件
執(zhí)行 python preprocess_flist_config.py
3.生成hubert與f0
執(zhí)行 python preprocess_hubert_f0.py
三、訓練
用vscode打開so-vits-svc-32k項目(直接把文件夾拖進去就行)
執(zhí)行 python train.py -c configs/config.json -m 32k 進行ai訓練
如果報CUDA out of memory的錯,就是超顯存了。此時需要適當修改batch_size的值。打開config.json,將batch_size改成小一點的數(shù)。我的是RTX 3070 Laptop,值是5,如圖8。

出現(xiàn)epoch=1就是成功了。
四、小結
到這一步ai就正式跑起來了,日志可以查看\logs\32k\train.log,如圖9。如果音源質量好,一般到G_6000左右ai的聲音效果就很好了。

處理與推理音頻
一、尋找與制作干聲素材
1.以一首歌為例,先去網上找這首歌,下載
2.分離人聲與伴奏
推薦軟件:
①SpleeterGUI——https://makenweb.com/SpleeterGUI
有點:快速,配置要求低,有中文。
缺點:效果不是很好。
這個軟件在運行時可能會報找不到文件的錯,是因為缺模型文件。網盤里的2(4,5)stems就是,需解壓后放到 SpleeterGUI\pretrained_models 文件夾內。
②Ultimate Vocal Remover——https://github.com/Anjok07/ultimatevocalremovergui
有點:效果好
缺點:對電腦配置要求高,無中文。
以上兩款軟件操作很簡單,把文件拖進去就行。出現(xiàn)問題可自行百度解決。
二、開始推理
1.切分音頻
如果直接把整首歌放進去轉換可能會超顯存,因此要對音頻進行切分,分段替換。
推薦軟件:
①Adobe Audition
②Audacity——https://www.audacityteam.org/download/
重點說一下Audacity,軟件如圖10所示。Ctrl+滾輪是放大縮小音軌顯示范圍,Shift+滾輪是左右移動。拖入音頻,框住一段音頻后右鍵——點擊split clip切分音頻。文件——導出——導出選擇選擇的音頻可以將這段音頻導出。切記要導出為wav格式!

2.推理
將上一步的音頻放入 /raw 文件夾內
修改 inference_main.py 里的內容
執(zhí)行 python ./inference_main.py
結果將在 /results 文件夾里呈現(xiàn)
3.小結
如果推理出來的音頻效果不好有大致有兩個原因,一是訓練不夠,我的模型訓練到G_15000左右效果就已經很好了。二是干聲處理不好。尤其是對音頻的處理,拿翻唱歌曲為例,一定要找提取效果好的音樂進行人聲分離,而且必須是一個人演唱的歌曲,最好沒有混響,或者人聲與伴奏音色相近。這些都會使分離出來的干聲效果不好。相信我,你絕對不想聽到一個可愛的美少女用煙酒嗓唱歌。。。
總結
十分感謝觀看,我也是剛剛開始學習使用這些軟件,難免會有紕漏出現(xiàn),如果文中出現(xiàn)錯誤請大家指正批評?。。?/span>