Codex commited on
Commit
3ca3cda
·
1 Parent(s): a96cc46

Patch v2Pro speaker preprocessing for torchaudio

Browse files
Files changed (1) hide show
  1. app.py +27 -0
app.py CHANGED
@@ -373,6 +373,33 @@ def patch_upstream_repo():
373
  if old in content:
374
  content = content.replace(old, new, 1)
375
  chinese2.write_text(content, encoding="utf-8")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
376
  patch_marker.write_text("ok\n", encoding="utf-8")
377
 
378
 
 
373
  if old in content:
374
  content = content.replace(old, new, 1)
375
  chinese2.write_text(content, encoding="utf-8")
376
+ sv_script = GPT_SOVITS_DIR / "GPT_SoVITS" / "prepare_datasets" / "2-get-sv.py"
377
+ sv_content = sv_script.read_text(encoding="utf-8")
378
+ if "from scipy.io import wavfile" not in sv_content:
379
+ sv_content = sv_content.replace(
380
+ "import torch\n",
381
+ "import torch\nimport numpy as np\nfrom scipy.io import wavfile\n",
382
+ 1,
383
+ )
384
+ old_load = """ wav32k, sr0 = torchaudio.load(wav_path)
385
+ assert sr0 == 32000
386
+ wav32k = wav32k.to(device)
387
+ """
388
+ new_load = """ sr0, wav32k_np = wavfile.read(wav_path)
389
+ assert sr0 == 32000
390
+ if wav32k_np.ndim == 1:
391
+ wav32k_np = wav32k_np[None, :]
392
+ else:
393
+ wav32k_np = wav32k_np.T
394
+ if np.issubdtype(wav32k_np.dtype, np.integer):
395
+ wav32k_np = wav32k_np.astype("float32") / float(np.iinfo(wav32k_np.dtype).max)
396
+ else:
397
+ wav32k_np = wav32k_np.astype("float32")
398
+ wav32k = torch.from_numpy(wav32k_np).to(device)
399
+ """
400
+ if old_load in sv_content:
401
+ sv_content = sv_content.replace(old_load, new_load, 1)
402
+ sv_script.write_text(sv_content, encoding="utf-8")
403
  patch_marker.write_text("ok\n", encoding="utf-8")
404
 
405