From 33b63d3e2a41528aed7c3837b18a971f01db550d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=9A=E7=8E=A9=E5=B9=BB=E7=81=B5qwq?= Date: Sun, 1 Jun 2025 20:39:28 +0800 Subject: [PATCH] feat: fallback when ckpt not exists --- GPT_SoVITS/inference_webui.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/GPT_SoVITS/inference_webui.py b/GPT_SoVITS/inference_webui.py index 46820145..72d98b80 100644 --- a/GPT_SoVITS/inference_webui.py +++ b/GPT_SoVITS/inference_webui.py @@ -72,7 +72,40 @@ with open("./weight.json", "r", encoding="utf-8") as file: gpt_path = gpt_path[0] if isinstance(sovits_path, list): sovits_path = sovits_path[0] + + if not gpt_path or not os.path.exists(gpt_path): + for path in pretrained_gpt_name: + if os.path.exists(path): + resolved_gpt_path = path + break + if resolved_gpt_path: + print( + f"GPT path '{gpt_path}' not found. Falling back to: '{resolved_gpt_path}'" + ) + else: + print( + f"GPT path '{gpt_path}' not found, and no pretrained GPT model found." + ) + exit(1) + gpt_path = resolved_gpt_path + if not sovits_path or not os.path.exists(sovits_path): + for path in pretrained_sovits_name: + if os.path.exists(path): + resolved_sovits_path = path + break + if resolved_sovits_path: + print( + f"SoVITS path '{sovits_path}' not found. Falling back to: '{resolved_sovits_path}'" + ) + else: + print( + f"SoVITS path '{sovits_path}' not found, and no pretrained SoVITS model found." + ) + exit(1) + + sovits_path = resolved_sovits_path + # gpt_path = os.environ.get( # "gpt_path", pretrained_gpt_name # )