add fcpe to pipeline (#1934)

This commit is contained in:
Roberts Slisans 2024-04-23 10:21:31 +03:00 committed by GitHub
parent e5b43249a0
commit 82bd4b1dd1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -150,6 +150,7 @@ class Pipeline(object):
"%s/rmvpe.pt" % os.environ["rmvpe_root"],
is_half=self.is_half,
device=self.device,
# use_jit=self.config.use_jit,
)
f0 = self.model_rmvpe.infer_from_audio(x, thred=0.03)
@ -157,6 +158,18 @@ class Pipeline(object):
del self.model_rmvpe.model
del self.model_rmvpe
logger.info("Cleaning ortruntime memory")
elif f0_method == "fcpe":
if not hasattr(self, "model_fcpe"):
from torchfcpe import spawn_bundled_infer_model
logger.info("Loading fcpe model")
self.model_fcpe = spawn_bundled_infer_model(self.device)
f0 = self.model_fcpe.infer(
torch.from_numpy(x).to(self.device).unsqueeze(0).float(),
sr=16000,
decoder_mode="local_argmax",
threshold=0.006,
).squeeze().cpu().numpy()
f0 *= pow(2, f0_up_key / 12)
# with open("test.txt","w")as f:f.write("\n".join([str(i)for i in f0.tolist()]))