Closed9

so-vits-svcを試す

Hidden comment
11-1010-10011-1010-100

wsl2だとこけたので、このセクションのコマンドはpowershellで動かす

venvを作って有効にする
python -m venv venv
.\venv\Scripts\Activate.ps1
pytorchを入れる
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117
残りを入れる
pip install SoundFile
pip install sounddevice
pip install requests==2.28.1
pip install onnx onnxsim onnxoptimizer
pip install scipy==1.9.3
pip install Flask==2.1.2 Flask_Cors==3.0.10
pip install playsound==1.3.0 PyAudio==0.2.12
pip install pydub==0.25.1
pip install pyworld
pip install tqdm==4.63.0
pip install scikit-maad
pip install praat-parselmouth
pip install gradio==3.9
pip install starlette==0.20.4
pip install fairseq==0.12.2

pip install tensorboard

pip install -r requirements_win.txtだとエラーを吐いた。
※モジュールはこちらを参照

v4なのでこちらも入れる
pip install librosa
Microsoft C++ Build Toolsがないエラーがでた
error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/

リンクからダウンロード&インストールする
https://self-development.info/「microsoft-visual-c-14-0-or-greater-is-required-」が出た場合の対処方法/

11-1010-10011-1010-100

学習モデルを引っ張ってくる

contentvec(checkpoint_best_legacy_500.pt)
wget -P hubert/ http://obs.cstcloud.cn/share/obs/sankagenkeshi/checkpoint_best_legacy_500.pt

追加で
G_0.pth
D_0.pth
logs/44kディレクトリに入れておく

11-1010-10011-1010-100

データセットを用意する

構造
dataset_raw
├───speaker0
│   ├───xxx1-xxx1.wav
│   ├───...
│   └───Lxx-0xx8.wav
└───speaker1
    ├───xx2-0xxx2.wav
    ├───...
    └───xxx7-xxx007.wav

トレーニングデータはつくよみちゃんコーパス Vol.1を使う
※クレジット表記必要:つくよみちゃんコーパス(CV.夢前黎)

WAV(+12dB増幅&高音域削減)の中身をdataset_raw/tsukuyomiディレクトリに入れる

11-1010-10011-1010-100

プリプロセス

44100hzにリサンプリングする
python resample.py
コンフィグファイルなどを作る
python preprocess_flist_config.py
hubertとf0をつくる
python preprocess_hubert_f0.py
11-1010-10011-1010-100

学習の設定はここでする

configs/config.json
{
  "train": {
    "log_interval": 200,
    "eval_interval": 800,
    "seed": 1234,
    "epochs": 1000,
    "learning_rate": 0.0001,
    "betas": [
      0.8,
      0.99
    ],
    "eps": 1e-09,
    "batch_size": 6,

batch_sizeを自身のGPUメモリ-1Gぐらいがいいらしい
(自分の環境だとGPUメモリ12GBだったので、"batch_size": 10

epochsは学習データ1000個で400とのこと

学習開始
python train.py -c configs/config.json -m 44k
11-1010-10011-1010-100

変換してみる
音声データはso-vits-svc/rawに入れておく

手元にmp3しかなかったので、ffmpegでwavに変換した

mp3->wavに変換
sudo apt install ffmpeg
ffmpeg -i "input.mp3" -vn -ac 2 -ar 44100 -acodec pcm_s16le -f wav "output.wav"
変換開始
python inference_main.py -m "logs/44k/G_1000.pth" -c "configs/config.json" -n "output.wav" -t 0 -s "tsukuyomi" -a

※.pth, .wav, -sのオプションを変える
※長いファイルだとVRAM不足になりがち

このスクラップは2023/03/17にクローズされました