Spaces:
Running
Running
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()), | |
) | |