94 lines
3.0 KiB
Python
94 lines
3.0 KiB
Python
import os
|
|
import gradio as gr
|
|
|
|
lang_dict = {"EN(英文)": "_en", "ZH(中文)": "_zh", "JP(日语)": "_jp"}
|
|
|
|
|
|
def raw_dir_convert_to_path(target_dir: str, lang):
|
|
res = target_dir.rstrip("/").rstrip("\\")
|
|
if (not target_dir.startswith("raw")) and (not target_dir.startswith("./raw")):
|
|
res = os.path.join("./raw", res)
|
|
if (
|
|
(not res.endswith("_zh"))
|
|
and (not res.endswith("_jp"))
|
|
and (not res.endswith("_en"))
|
|
):
|
|
res += lang_dict[lang]
|
|
return res
|
|
|
|
|
|
def update_g_files():
|
|
g_files = []
|
|
cnt = 0
|
|
for root, dirs, files in os.walk(os.path.abspath("./logs")):
|
|
for file in files:
|
|
if file.startswith("G_") and file.endswith(".pth"):
|
|
g_files.append(os.path.join(root, file))
|
|
cnt += 1
|
|
print(g_files)
|
|
return f"更新模型列表完成, 共找到{cnt}个模型", gr.Dropdown.update(choices=g_files)
|
|
|
|
|
|
def update_c_files():
|
|
c_files = []
|
|
cnt = 0
|
|
for root, dirs, files in os.walk(os.path.abspath("./logs")):
|
|
for file in files:
|
|
if file.startswith("config.json"):
|
|
c_files.append(os.path.join(root, file))
|
|
cnt += 1
|
|
print(c_files)
|
|
return f"更新模型列表完成, 共找到{cnt}个配置文件", gr.Dropdown.update(
|
|
choices=c_files
|
|
)
|
|
|
|
|
|
def update_model_folders():
|
|
subdirs = []
|
|
cnt = 0
|
|
for root, dirs, files in os.walk(os.path.abspath("./logs")):
|
|
for dir_name in dirs:
|
|
if os.path.basename(dir_name) != "eval":
|
|
subdirs.append(os.path.join(root, dir_name))
|
|
cnt += 1
|
|
print(subdirs)
|
|
return f"更新模型文件夹列表完成, 共找到{cnt}个文件夹", gr.Dropdown.update(
|
|
choices=subdirs
|
|
)
|
|
|
|
|
|
def update_wav_lab_pairs():
|
|
wav_count = tot_count = 0
|
|
for root, _, files in os.walk("./raw"):
|
|
for file in files:
|
|
# print(file)
|
|
file_path = os.path.join(root, file)
|
|
if file.lower().endswith(".wav"):
|
|
lab_file = os.path.splitext(file_path)[0] + ".lab"
|
|
if os.path.exists(lab_file):
|
|
wav_count += 1
|
|
tot_count += 1
|
|
return f"{wav_count} / {tot_count}"
|
|
|
|
|
|
def update_raw_folders():
|
|
subdirs = []
|
|
cnt = 0
|
|
script_path = os.path.dirname(os.path.abspath(__file__)) # 获取当前脚本的绝对路径
|
|
raw_path = os.path.join(script_path, "raw")
|
|
print(raw_path)
|
|
os.makedirs(raw_path, exist_ok=True)
|
|
for root, dirs, files in os.walk(raw_path):
|
|
for dir_name in dirs:
|
|
relative_path = os.path.relpath(
|
|
os.path.join(root, dir_name), script_path
|
|
) # 获取相对路径
|
|
subdirs.append(relative_path)
|
|
cnt += 1
|
|
print(subdirs)
|
|
return (
|
|
f"更新raw音频文件夹列表完成, 共找到{cnt}个文件夹",
|
|
gr.Dropdown.update(choices=subdirs),
|
|
gr.Textbox.update(value=update_wav_lab_pairs()),
|
|
)
|