Spaces:
Running
Running
Upload app.py
Browse files
app.py
CHANGED
|
@@ -201,58 +201,109 @@ def create_vc_fn(model_title, tgt_sr, net_g, vc, if_f0, version, file_index):
|
|
| 201 |
return info, None
|
| 202 |
return vc_fn
|
| 203 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 204 |
def load_model():
|
| 205 |
categories = []
|
| 206 |
-
|
| 207 |
-
|
| 208 |
-
|
| 209 |
-
|
| 210 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 211 |
continue
|
| 212 |
-
|
| 213 |
-
|
| 214 |
-
|
| 215 |
-
|
| 216 |
-
|
| 217 |
-
|
| 218 |
-
|
| 219 |
-
|
| 220 |
-
|
| 221 |
-
|
| 222 |
-
|
| 223 |
-
|
| 224 |
-
|
| 225 |
-
model_index = f"weights/{category_folder}/{character_name}/{info['feature_retrieval_library']}"
|
| 226 |
-
cpt = torch.load(f"weights/{category_folder}/{character_name}/{model_name}", map_location="cpu")
|
| 227 |
-
tgt_sr = cpt["config"][-1]
|
| 228 |
-
cpt["config"][-3] = cpt["weight"]["emb_g.weight"].shape[0] # n_spk
|
| 229 |
-
if_f0 = cpt.get("f0", 1)
|
| 230 |
-
version = cpt.get("version", "v1")
|
| 231 |
-
if version == "v1":
|
| 232 |
-
if if_f0 == 1:
|
| 233 |
-
net_g = SynthesizerTrnMs256NSFsid(*cpt["config"], is_half=config.is_half)
|
| 234 |
-
else:
|
| 235 |
-
net_g = SynthesizerTrnMs256NSFsid_nono(*cpt["config"])
|
| 236 |
-
model_version = "V1"
|
| 237 |
-
elif version == "v2":
|
| 238 |
-
if if_f0 == 1:
|
| 239 |
-
net_g = SynthesizerTrnMs768NSFsid(*cpt["config"], is_half=config.is_half)
|
| 240 |
-
else:
|
| 241 |
-
net_g = SynthesizerTrnMs768NSFsid_nono(*cpt["config"])
|
| 242 |
-
model_version = "V2"
|
| 243 |
-
del net_g.enc_q
|
| 244 |
-
print(net_g.load_state_dict(cpt["weight"], strict=False))
|
| 245 |
-
net_g.eval().to(config.device)
|
| 246 |
-
if config.is_half:
|
| 247 |
-
net_g = net_g.half()
|
| 248 |
else:
|
| 249 |
-
net_g =
|
| 250 |
-
|
| 251 |
-
|
| 252 |
-
|
| 253 |
-
|
| 254 |
-
|
| 255 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 256 |
return categories
|
| 257 |
|
| 258 |
def download_audio(url, audio_provider):
|
|
|
|
| 201 |
return info, None
|
| 202 |
return vc_fn
|
| 203 |
|
| 204 |
+
# def load_model():
|
| 205 |
+
# categories = []
|
| 206 |
+
# if os.path.isfile("weights/folder_info.json"):
|
| 207 |
+
# with open("weights/folder_info.json", "r", encoding="utf-8") as f:
|
| 208 |
+
# folder_info = json.load(f)
|
| 209 |
+
# for category_name, category_info in folder_info.items():
|
| 210 |
+
# if not category_info['enable']:
|
| 211 |
+
# continue
|
| 212 |
+
# category_title = category_info['title']
|
| 213 |
+
# category_folder = category_info['folder_path']
|
| 214 |
+
# description = category_info['description']
|
| 215 |
+
# models = []
|
| 216 |
+
# with open(f"weights/{category_folder}/model_info.json", "r", encoding="utf-8") as f:
|
| 217 |
+
# models_info = json.load(f)
|
| 218 |
+
# for character_name, info in models_info.items():
|
| 219 |
+
# if not info['enable']:
|
| 220 |
+
# continue
|
| 221 |
+
# model_title = info['title']
|
| 222 |
+
# model_name = info['model_path']
|
| 223 |
+
# model_author = info.get("author", None)
|
| 224 |
+
# model_cover = f"weights/{category_folder}/{character_name}/{info['cover']}"
|
| 225 |
+
# model_index = f"weights/{category_folder}/{character_name}/{info['feature_retrieval_library']}"
|
| 226 |
+
# cpt = torch.load(f"weights/{category_folder}/{character_name}/{model_name}", map_location="cpu")
|
| 227 |
+
# tgt_sr = cpt["config"][-1]
|
| 228 |
+
# cpt["config"][-3] = cpt["weight"]["emb_g.weight"].shape[0] # n_spk
|
| 229 |
+
# if_f0 = cpt.get("f0", 1)
|
| 230 |
+
# version = cpt.get("version", "v1")
|
| 231 |
+
# if version == "v1":
|
| 232 |
+
# if if_f0 == 1:
|
| 233 |
+
# net_g = SynthesizerTrnMs256NSFsid(*cpt["config"], is_half=config.is_half)
|
| 234 |
+
# else:
|
| 235 |
+
# net_g = SynthesizerTrnMs256NSFsid_nono(*cpt["config"])
|
| 236 |
+
# model_version = "V1"
|
| 237 |
+
# elif version == "v2":
|
| 238 |
+
# if if_f0 == 1:
|
| 239 |
+
# net_g = SynthesizerTrnMs768NSFsid(*cpt["config"], is_half=config.is_half)
|
| 240 |
+
# else:
|
| 241 |
+
# net_g = SynthesizerTrnMs768NSFsid_nono(*cpt["config"])
|
| 242 |
+
# model_version = "V2"
|
| 243 |
+
# del net_g.enc_q
|
| 244 |
+
# print(net_g.load_state_dict(cpt["weight"], strict=False))
|
| 245 |
+
# net_g.eval().to(config.device)
|
| 246 |
+
# if config.is_half:
|
| 247 |
+
# net_g = net_g.half()
|
| 248 |
+
# else:
|
| 249 |
+
# net_g = net_g.float()
|
| 250 |
+
# vc = VC(tgt_sr, config)
|
| 251 |
+
# print(f"Model loaded: {character_name} / {info['feature_retrieval_library']} | ({model_version})")
|
| 252 |
+
# models.append((character_name, model_title, model_author, model_cover, model_version, create_vc_fn(model_name, tgt_sr, net_g, vc, if_f0, version, model_index)))
|
| 253 |
+
# categories.append([category_title, category_folder, description, models])
|
| 254 |
+
# else:
|
| 255 |
+
# categories = []
|
| 256 |
+
# return categories
|
| 257 |
+
|
| 258 |
def load_model():
|
| 259 |
categories = []
|
| 260 |
+
with open("weights/folder_info.json", "r", encoding="utf-8") as f:
|
| 261 |
+
folder_info = json.load(f)
|
| 262 |
+
for category_name, category_info in folder_info.items():
|
| 263 |
+
if not category_info['enable']:
|
| 264 |
+
continue
|
| 265 |
+
category_title = category_info['title']
|
| 266 |
+
category_folder = category_info['folder_path']
|
| 267 |
+
description = category_info['description']
|
| 268 |
+
models = []
|
| 269 |
+
with open(f"weights/{category_folder}/model_info.json", "r", encoding="utf-8") as f:
|
| 270 |
+
models_info = json.load(f)
|
| 271 |
+
for character_name, info in models_info.items():
|
| 272 |
+
if not info['enable']:
|
| 273 |
continue
|
| 274 |
+
model_title = info['title']
|
| 275 |
+
model_name = info['model_path']
|
| 276 |
+
model_author = info.get("author", None)
|
| 277 |
+
model_cover = f"weights/{category_folder}/{character_name}/{info['cover']}"
|
| 278 |
+
model_index = f"weights/{category_folder}/{character_name}/{info['feature_retrieval_library']}"
|
| 279 |
+
cpt = torch.load(f"weights/{category_folder}/{character_name}/{model_name}", map_location="cpu")
|
| 280 |
+
tgt_sr = cpt["config"][-1]
|
| 281 |
+
cpt["config"][-3] = cpt["weight"]["emb_g.weight"].shape[0] # n_spk
|
| 282 |
+
if_f0 = cpt.get("f0", 1)
|
| 283 |
+
version = cpt.get("version", "v1")
|
| 284 |
+
if version == "v1":
|
| 285 |
+
if if_f0 == 1:
|
| 286 |
+
net_g = SynthesizerTrnMs256NSFsid(*cpt["config"], is_half=config.is_half)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 287 |
else:
|
| 288 |
+
net_g = SynthesizerTrnMs256NSFsid_nono(*cpt["config"])
|
| 289 |
+
model_version = "V1"
|
| 290 |
+
elif version == "v2":
|
| 291 |
+
if if_f0 == 1:
|
| 292 |
+
net_g = SynthesizerTrnMs768NSFsid(*cpt["config"], is_half=config.is_half)
|
| 293 |
+
else:
|
| 294 |
+
net_g = SynthesizerTrnMs768NSFsid_nono(*cpt["config"])
|
| 295 |
+
model_version = "V2"
|
| 296 |
+
del net_g.enc_q
|
| 297 |
+
print(net_g.load_state_dict(cpt["weight"], strict=False))
|
| 298 |
+
net_g.eval().to(config.device)
|
| 299 |
+
if config.is_half:
|
| 300 |
+
net_g = net_g.half()
|
| 301 |
+
else:
|
| 302 |
+
net_g = net_g.float()
|
| 303 |
+
vc = VC(tgt_sr, config)
|
| 304 |
+
print(f"Model loaded: {character_name} / {info['feature_retrieval_library']} | ({model_version})")
|
| 305 |
+
models.append((character_name, model_title, model_author, model_cover, model_version, create_vc_fn(model_title, tgt_sr, net_g, vc, if_f0, version, model_index)))
|
| 306 |
+
categories.append([category_title, category_folder, description, models])
|
| 307 |
return categories
|
| 308 |
|
| 309 |
def download_audio(url, audio_provider):
|