mirror of
https://github.com/w-okada/voice-changer.git
synced 2025-03-14 20:03:59 +03:00
Merge pull request #424 from nadare881/master
hotfix: protectありの時特定のchunksizeでバグっていたので修正
This commit is contained in:
commit
dc9401ff0f
@ -189,6 +189,12 @@ class Pipeline(object):
|
|||||||
pitch = pitch[:, :p_len]
|
pitch = pitch[:, :p_len]
|
||||||
pitchf = pitchf[:, :p_len]
|
pitchf = pitchf[:, :p_len]
|
||||||
|
|
||||||
|
feats_len = feats.shape[1]
|
||||||
|
if pitch is not None and pitchf is not None:
|
||||||
|
pitch = pitch[:, -feats_len:]
|
||||||
|
pitchf = pitchf[:, -feats_len:]
|
||||||
|
p_len = torch.tensor([feats_len], device=self.device).long()
|
||||||
|
|
||||||
# pitchの推定が上手くいかない(pitchf=0)場合、検索前の特徴を混ぜる
|
# pitchの推定が上手くいかない(pitchf=0)場合、検索前の特徴を混ぜる
|
||||||
# pitchffの作り方の疑問はあるが、本家通りなので、このまま使うことにする。
|
# pitchffの作り方の疑問はあるが、本家通りなので、このまま使うことにする。
|
||||||
# https://github.com/w-okada/voice-changer/pull/276#issuecomment-1571336929
|
# https://github.com/w-okada/voice-changer/pull/276#issuecomment-1571336929
|
||||||
@ -201,23 +207,11 @@ class Pipeline(object):
|
|||||||
feats = feats.to(feats0.dtype)
|
feats = feats.to(feats0.dtype)
|
||||||
p_len = torch.tensor([p_len], device=self.device).long()
|
p_len = torch.tensor([p_len], device=self.device).long()
|
||||||
|
|
||||||
feats_buffer = feats.squeeze(0).detach().cpu()
|
|
||||||
if pitchf is not None:
|
|
||||||
pitchf_buffer = pitchf.squeeze(0).detach().cpu()
|
|
||||||
else:
|
|
||||||
pitchf_buffer = None
|
|
||||||
# apply silent front for inference
|
# apply silent front for inference
|
||||||
if type(self.inferencer) in [OnnxRVCInferencer, OnnxRVCInferencerNono]:
|
if type(self.inferencer) in [OnnxRVCInferencer, OnnxRVCInferencerNono]:
|
||||||
npyOffset = math.floor(silence_front * 16000) // 360
|
npyOffset = math.floor(silence_front * 16000) // 360
|
||||||
feats = feats[:, npyOffset * 2 :, :]
|
feats = feats[:, npyOffset * 2 :, :]
|
||||||
|
|
||||||
feats_len = feats.shape[1]
|
|
||||||
if pitch is not None and pitchf is not None:
|
|
||||||
pitch = pitch[:, -feats_len:]
|
|
||||||
pitchf = pitchf[:, -feats_len:]
|
|
||||||
p_len = torch.tensor([feats_len], device=self.device).long()
|
|
||||||
|
|
||||||
|
|
||||||
# 推論実行
|
# 推論実行
|
||||||
try:
|
try:
|
||||||
with torch.no_grad():
|
with torch.no_grad():
|
||||||
@ -237,6 +231,12 @@ class Pipeline(object):
|
|||||||
else:
|
else:
|
||||||
raise e
|
raise e
|
||||||
|
|
||||||
|
feats_buffer = feats.squeeze(0).detach().cpu()
|
||||||
|
if pitchf is not None:
|
||||||
|
pitchf_buffer = pitchf.squeeze(0).detach().cpu()
|
||||||
|
else:
|
||||||
|
pitchf_buffer = None
|
||||||
|
|
||||||
del p_len, padding_mask, pitch, pitchf, feats
|
del p_len, padding_mask, pitch, pitchf, feats
|
||||||
torch.cuda.empty_cache()
|
torch.cuda.empty_cache()
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user