andhikagg commited on
Commit
9d5c3c2
·
verified ·
1 Parent(s): 16b0eb1

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +99 -48
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
- 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 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):