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