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