|
import os
|
|
|
|
from huggingface_hub import hf_hub_download
|
|
|
|
|
|
|
|
def check_and_download_files(repo_id, file_list, local_dir):
|
|
os.makedirs(local_dir, exist_ok=True)
|
|
for file in file_list:
|
|
file_path = os.path.join(local_dir, file)
|
|
if not os.path.exists(file_path):
|
|
print(f"{file} 不存在,从 Hugging Face 仓库下载...")
|
|
hf_hub_download(
|
|
repo_id=repo_id,
|
|
filename=file,
|
|
resume_download=True,
|
|
local_dir=local_dir,
|
|
local_dir_use_symlinks=False,
|
|
)
|
|
else:
|
|
print(f"{file} 已存在,跳过下载。")
|
|
|
|
|
|
|
|
repo_id_1 = "fishaudio/fish-speech-1.4"
|
|
local_dir_1 = "./checkpoints/fish-speech-1.4"
|
|
files_1 = [
|
|
"model.pth",
|
|
"README.md",
|
|
"special_tokens_map.json",
|
|
"tokenizer_config.json",
|
|
"tokenizer.json",
|
|
"config.json",
|
|
"firefly-gan-vq-fsq-8x1024-21hz-generator.pth",
|
|
]
|
|
|
|
|
|
repo_id_3 = "fishaudio/fish-speech-1"
|
|
local_dir_3 = "./"
|
|
files_3 = [
|
|
"ffmpeg.exe",
|
|
"ffprobe.exe",
|
|
]
|
|
|
|
|
|
repo_id_4 = "SpicyqSama007/fish-speech-packed"
|
|
local_dir_4 = "./"
|
|
files_4 = [
|
|
"asr-label-win-x64.exe",
|
|
]
|
|
|
|
check_and_download_files(repo_id_1, files_1, local_dir_1)
|
|
|
|
check_and_download_files(repo_id_3, files_3, local_dir_3)
|
|
check_and_download_files(repo_id_4, files_4, local_dir_4)
|
|
|