import json from pathlib import Path from huggingface_hub import hf_hub_download from common.log import logger def download_bert_models(): with open("bert/bert_models.json", "r") as fp: models = json.load(fp) for k, v in models.items(): local_path = Path("bert").joinpath(k) for file in v["files"]: if not Path(local_path).joinpath(file).exists(): logger.info(f"Downloading {k} {file}") hf_hub_download( v["repo_id"], file, local_dir=local_path, local_dir_use_symlinks=False, ) def download_pretrained_models(): files = ["G_0.safetensors", "D_0.safetensors", "DUR_0.safetensors"] local_path = Path("pretrained") for file in files: if not Path(local_path).joinpath(file).exists(): logger.info(f"Downloading pretrained {file}") hf_hub_download( "litagin/Style-Bert-VITS2-1.0-base", file, local_dir=local_path, local_dir_use_symlinks=False, ) def download_jvnv_models(): files = [ "jvnv-F1/config.json", "jvnv-F1/jvnv-F1.safetensors", "jvnv-F1/style_vectors.npy", "jvnv-F2/config.json", "jvnv-F2/jvnv-F2.safetensors", "jvnv-F2/style_vectors.npy", "jvnv-M1/config.json", "jvnv-M1/jvnv-M1.safetensors", "jvnv-M1/style_vectors.npy", "jvnv-M2/config.json", "jvnv-M2/jvnv-M2.safetensors", "jvnv-M2/style_vectors.npy", ] for file in files: if not Path(f"model_assets/{file}").exists(): logger.info(f"Downloading {file}") hf_hub_download( "litagin/style_bert_vits2_jvnv", file, local_dir="model_assets", local_dir_use_symlinks=False, ) download_bert_models() download_pretrained_models() download_jvnv_models()