Keio_Auto_Announce_bert_vits2 / update_status.py
ElesisSiegherts's picture
Upload 6 files
245dd7d
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()),
)