Retrieval-based-Voice-Conve.../infer/modules/vc/utils.py

34 lines
851 B
Python
Raw Normal View History

2023-08-19 18:56:43 +08:00
import os
from fairseq import checkpoint_utils
2023-08-19 18:56:43 +08:00
def get_index_path_from_model(sid):
2023-09-01 14:11:55 +08:00
return next(
(
f
for f in [
os.path.join(root, name)
for root, _, files in os.walk(os.getenv("index_root"), topdown=False)
for name in files
if name.endswith(".index") and "trained" not in name
]
if sid.split(".")[0] in f
),
"",
)
2023-08-19 18:56:43 +08:00
2023-08-19 18:56:43 +08:00
def load_hubert(config):
models, _, _ = checkpoint_utils.load_model_ensemble_and_task(
["assets/hubert/hubert_base.pt"],
suffix="",
)
hubert_model = models[0]
hubert_model = hubert_model.to(config.device)
if config.is_half:
hubert_model = hubert_model.half()
else:
hubert_model = hubert_model.float()
return hubert_model.eval()