スタジオおふとん

プログラミング系

MMVCで声帯を作るときに詰まった点

まず完成形

https://sjc1.vultrobjects.com/misskey/files/295913d2-13ff-4206-a81d-0fc429b981ac.mp3misskey.gamelore.fun

ちなみにこの後、Discordでもちゃんとできた。

環境

ローカルです。

  • Windows 10
    • WSL2
  • CPU i9-9900K
  • メモリ32G
  • RTX3090
  • XBOX Wireless Headset

手順

基本は以下。

github.com

  • tarinのeval_intervalは500
  • batch_sizeは7

にした。

どこで学習をやめるかだが、定期的に表示されるloss/g/melがもう下がらなそうだな。となったらやめる。
19以下になるといいらしい。
今回はどんなに頑張っても19以下にはならず、19.7くらいだった。

詰まりポイント

なんかgpu使ってくれない

cudaのversionが違うとダメっぽい。
上記の手順通り、まっさらからスタートすればこの問題は発生しないと思われるが、過去にcudaを導入しているとそれが悪さする可能性がある。
下記コマンドでcudaを一回削除して、もう一回入れ直すといい。
nvidia-smiで表示されるversionはまた違うっぽいのであんまり参考にならない。

sudo apt-get purge nvidia* && sudo apt-get autoremove && sudo apt-get autoclean && sudo rm -rf /usr/local/cuda*

参考

qiita.com
zenn.dev

CUDA kernel errors might be asynchronously reported at some other API call

RuntimeError: CUDA error: unknown error
CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.

ビデオメモリが足りないときに出るエラーらしいが、そんな感じもしなかったからよくわからん。 何回かやってればうまくいく。

MMVC Clientの話

  • バイスの設定は同じのが複数ある場合、若いのを指定しないと動かないっぽい。
    • 昔は数値で指定だったが、今は文字列指定でOK. よくわかんなかったら数値で指定してもいい。
  • パスは絶対パスで指定したほうが確実。
    • というかどこから見た相対パスなのかがわからない。
  • target_idはcreate_dataset_jtask.pyの-tに指定した値を設定する
    • 下記に記載している春日部つむぎ王への道講座を見ておくといい。
  • ずんだもんチュートリアルのやり方だとonnxは使用しない。
    • use_onnxはfalse
    • pathのmodelは.pthを指定する

参考

gaprot.jp

youtu.be

Discordで使うとき

  • VB Audioを使う。
  • MMVC Clientのoutput_deviceをCABLE Inputにする。
  • Discordの入力デバイスをCABLE Outputにする。
    • マイクテストが反応しないときは、一回入力デバイスを違うやつにしてからCABLE Outputにすると直ったりする。