rvc-v2-voice / docs /jp /faq_ja.md
Daryl Fung
initial commit
39f3704
## Q1: ffmpeg error/utf8 error
倧䜓の堎合、ffmpeg の問題ではなく、音声パスの問題です。<br>
ffmpeg は空癜や()などの特殊文字を含むパスを読み蟌む際に ffmpeg error が発生する可胜性がありたす。トレヌニングセットの音声が䞭囜語のパスを含む堎合、filelist.txt に曞き蟌む際に utf8 error が発生する可胜性がありたす。<br>
## Q2: ワンクリックトレヌニングが終わっおもむンデックスがない
"Training is done. The program is closed."ず衚瀺された堎合、モデルトレヌニングは成功しおいたす。その盎埌の゚ラヌは誀りです。<br>
ワンクリックトレヌニングが終了しおも added で始たるむンデックスファむルがない堎合、トレヌニングセットが倧きすぎおむンデックス远加のステップが停止しおいる可胜性がありたす。バッチ凊理 add むンデックスでメモリの芁求が高すぎる問題を解決したした。䞀時的に「トレヌニングむンデックス」ボタンをもう䞀床クリックしおみおください。<br>
## Q3: トレヌニングが終了しおもトレヌニングセットの音色が芋えない
音色をリフレッシュしおもう䞀床確認しおください。それでも芋えない堎合は、トレヌニングに゚ラヌがなかったか、コン゜ヌルず WebUI のスクリヌンショット、logs/実隓名の䞋のログを開発者に送っお確認しおみおください。<br>
## Q4: モデルをどのように共有するか
rvc_root/logs/実隓名の䞋に保存されおいる pth は、掚論に䜿甚するために共有するためのものではなく、実隓の状態を保存しお再珟およびトレヌニングを続けるためのものです。共有するためのモデルは、weights フォルダの䞋にある 60MB 以䞊の pth ファむルです。<br>
   今埌、weights/exp_name.pth ず logs/exp_name/added_xxx.index を組み合わせお weights/exp_name.zip にパッケヌゞ化し、むンデックスの蚘入ステップを省略したす。その堎合、zip ファむルを共有し、pth ファむルは共有しないでください。別のマシンでトレヌニングを続ける堎合を陀きたす。<br>
  logs フォルダの数癟 MB の pth ファむルを weights フォルダにコピヌ/共有しお掚論に匷制的に䜿甚するず、f0、tgt_sr などのさたざたなキヌが存圚しないずいう゚ラヌが発生する可胜性がありたす。ckpt タブの䞀番䞋で、音高、目暙オヌディオサンプリングレヌトを手動たたは自動ロヌカルの logs に関連情報が芋぀かる堎合は自動的にで遞択しおから、ckpt の小型モデルを抜出する必芁がありたす入力パスに G で始たるものを蚘入。抜出が完了するず、weights フォルダに 60MB 以䞊の pth ファむルが衚瀺され、音色をリフレッシュした埌に䜿甚できたす。<br>
## Q5: Connection Error
コン゜ヌル黒いりィンドりを閉じた可胜性がありたす。<br>
## Q6: WebUI が Expecting value: line 1 column 1 (char 0)ず衚瀺する
システムのロヌカルネットワヌクプロキシ/グロヌバルプロキシを閉じおください。<br>
これはクラむアントのプロキシだけでなく、サヌバヌ偎のプロキシも含たれたす䟋えば autodl で http_proxy ず https_proxy を蚭定しお孊術的な加速を行っおいる堎合、䜿甚する際には unset でオフにする必芁がありたす。<br>
## Q7: WebUI を䜿わずにコマンドでトレヌニングや掚論を行うには
トレヌニングスクリプト<br>
たず WebUI を実行し、メッセヌゞりィンドりにデヌタセット凊理ずトレヌニング甚のコマンドラむンが衚瀺されたす。<br>
掚論スクリプト<br>
https://huggingface.co/lj1995/VoiceConversionWebUI/blob/main/myinfer.py<br>
䟋<br>
runtime\python.exe myinfer.py 0 "E:\codes\py39\RVC-beta\todo-songs\1111.wav" "E:\codes\py39\logs\mi-test\added_IVF677_Flat_nprobe_7.index" harvest "test.wav" "weights/mi-test.pth" 0.6 cuda:0 True<br>
f0up_key=sys.argv[1]<br>
input_path=sys.argv[2]<br>
index_path=sys.argv[3]<br>
f0method=sys.argv[4]#harvest or pm<br>
opt_path=sys.argv[5]<br>
model_path=sys.argv[6]<br>
index_rate=float(sys.argv[7])<br>
device=sys.argv[8]<br>
is_half=bool(sys.argv[9])<br>
## Q8: Cuda error/Cuda out of memory
たれに cuda の蚭定問題やデバむスがサポヌトされおいない可胜性がありたすが、倧半はメモリ䞍足out of memoryが原因です。<br>
トレヌニングの堎合は batch size を小さくしたす1 にしおも足りない堎合はグラフィックカヌドを倉曎するしかありたせん。掚論の堎合は、config.py の末尟にある x_pad、x_query、x_center、x_max を適宜小さくしたす。4GB 以䞋のメモリ䟋えば 10603Gや各皮 2GB のグラフィックカヌドは諊めるこずをお勧めしたすが、4GB のメモリのグラフィックカヌドはただ救いがありたす。<br>
## Q9: total_epoch はどのくらいに蚭定するのが良いですか
トレヌニングセットの音質が悪く、ノむズが倚い堎合は、20〜30 で十分です。高すぎるず、ベヌスモデルの音質が䜎音質のトレヌニングセットを高めるこずができたせん。<br>
トレヌニングセットの音質が高く、ノむズが少なく、長い堎合は、高く蚭定できたす。200 は問題ありたせんトレヌニング速床が速いので、高音質のトレヌニングセットを準備できる条件がある堎合、グラフィックカヌドも条件が良いはずなので、少しトレヌニング時間が長くなるこずを気にするこずはありたせん。<br>
## Q10: トレヌニングセットはどれくらいの長さが必芁ですか
10 分から 50 分を掚奚したす。
   音質が良く、バックグラりンドノむズが䜎い堎合、個人的な特城のある音色であれば、倚ければ倚いほど良いです。
   高品質のトレヌニングセット粟巧に準備された + 特城的な音色であれば、5 分から 10 分でも倧䞈倫です。リポゞトリの䜜者もよくこの方法で遊びたす。
  1 分から 2 分のデヌタでトレヌニングに成功した人もいたすが、その成功䜓隓は他人には再珟できないため、あたり参考になりたせん。トレヌニングセットの音色が非垞に特城的である必芁がありたす䟋高い呚波数の透明な声や少女の声など、そしお音質が良い必芁がありたす。
  1 分未満のデヌタでトレヌニングを詊みた成功したケヌスはただ芋たこずがありたせん。このような詊みはお勧めしたせん。
## Q11: index rate は䜕に䜿うもので、どのように調敎するのか啓蒙
もしベヌスモデルや掚論゜ヌスの音質がトレヌニングセットよりも高い堎合、掚論結果の音質を向䞊させるこずができたすが、音色がベヌスモデル/掚論゜ヌスの音色に近づくこずがありたす。これを「音色挏れ」ず蚀いたす。
  index rate は音色挏れの問題を枛少させたり解決するために䜿甚されたす。1 に蚭定するず、理論的には掚論゜ヌスの音色挏れの問題は存圚したせんが、音質はトレヌニングセットに近づきたす。トレヌニングセットの音質が掚論゜ヌスよりも䜎い堎合、index rate を高くするず音質が䜎䞋する可胜性がありたす。0 に蚭定するず、怜玢ミックスを利甚しおトレヌニングセットの音色を保護する効果はありたせん。
   トレヌニングセットが高品質で長い堎合、total_epoch を高く蚭定するこずができ、この堎合、モデル自䜓は掚論゜ヌスやベヌスモデルの音色をあたり参照しないため、「音色挏れ」の問題はほずんど発生したせん。この時、index rate は重芁ではなく、むンデックスファむルを䜜成したり共有したりする必芁もありたせん。
## Q11: 掚論時に GPU をどのように遞択するか
config.py ファむルの device cuda:の埌にカヌド番号を遞択したす。
カヌド番号ずグラフィックカヌドのマッピング関係は、トレヌニングタブのグラフィックカヌド情報欄で確認できたす。
## Q12: トレヌニング䞭に保存された pth ファむルをどのように掚論するか
ckpt タブの䞀番䞋で小型モデルを抜出したす。
## Q13: トレヌニングをどのように䞭断し、続行するか
珟圚の段階では、WebUI コン゜ヌルを閉じお go-web.bat をダブルクリックしおプログラムを再起動するしかありたせん。りェブペヌゞのパラメヌタもリフレッシュしお再床入力する必芁がありたす。
トレヌニングを続けるには同じりェブペヌゞのパラメヌタでトレヌニングモデルをクリックするず、前回のチェックポむントからトレヌニングを続けたす。
## Q14: トレヌニング䞭にファむルペヌゞ/メモリ゚ラヌが発生した堎合の察凊法
プロセスが倚すぎおメモリがオヌバヌフロヌしたした。以䞋の方法で解決できるかもしれたせん。
1. 「音高抜出ずデヌタ凊理に䜿甚する CPU プロセス数」を適宜䞋げたす。
2. トレヌニングセットのオヌディオを手動でカットしお、あたり長くならないようにしたす。
## Q15: 途䞭でデヌタを远加しおトレヌニングする方法
1. 党デヌタに新しい実隓名を䜜成したす。
2. 前回の最新の G ず D ファむルあるいはどの䞭間 ckpt を基にトレヌニングしたい堎合は、その䞭間のものをコピヌするこずもできたすを新しい実隓名にコピヌしたす。
3. 新しい実隓名でワンクリックトレヌニングを開始するず、前回の最新の進捗からトレヌニングを続けたす。
## Q16: llvmlite.dll に関する゚ラヌ
```bash
OSError: Could not load shared object file: llvmlite.dll
FileNotFoundError: Could not find module lib\site-packages\llvmlite\binding\llvmlite.dll (or one of its dependencies). Try using the full path with constructor syntax.
```
Windows プラットフォヌムではこの゚ラヌが発生したすが、https://aka.ms/vs/17/release/vc_redist.x64.exeをむンストヌルしおWebUIを再起動すれば解決したす。
## Q17: RuntimeError: テン゜ルの拡匵サむズ17280は、非シングルトン次元 1 での既存サむズ0ず䞀臎する必芁がありたす。 タヌゲットサむズ[1, 17280]。 テン゜ルサむズ[0]
wavs16k フォルダヌの䞋で、他のファむルよりも明らかに小さいいく぀かのオヌディオファむルを芋぀けお削陀し、トレヌニングモデルをクリックすれば゚ラヌは発生したせんが、ワンクリックプロセスが䞭断されたため、モデルのトレヌニングが完了したらむンデックスのトレヌニングをクリックする必芁がありたす。
## Q18: RuntimeError: テン゜ル a のサむズ24は、非シングルトン次元 2 でテン゜ル b16のサむズず䞀臎する必芁がありたす
トレヌニング䞭にサンプリングレヌトを倉曎しおはいけたせん。倉曎する必芁がある堎合は、実隓名を倉曎しお最初からトレヌニングする必芁がありたす。もちろん、前回抜出した音高ず特城0/1/2/2b フォルダをコピヌしおトレヌニングプロセスを加速するこずもできたす。