mirror of
https://github.com/w-okada/voice-changer.git
synced 2025-02-03 16:53:55 +03:00
52 lines
1.6 KiB
Python
52 lines
1.6 KiB
Python
import os
|
|
import traceback
|
|
import faiss
|
|
from data.ModelSlot import DiffusionSVCModelSlot, RVCModelSlot
|
|
|
|
from voice_changer.RVC.deviceManager.DeviceManager import DeviceManager
|
|
from voice_changer.RVC.embedder.EmbedderManager import EmbedderManager
|
|
from voice_changer.RVC.inferencer.InferencerManager import InferencerManager
|
|
from voice_changer.RVC.pipeline.Pipeline import Pipeline
|
|
from voice_changer.RVC.pitchExtractor.PitchExtractorManager import PitchExtractorManager
|
|
|
|
|
|
def createPipeline(modelSlot: DiffusionSVCModelSlot, gpu: int, f0Detector: str):
|
|
dev = DeviceManager.get_instance().getDevice(gpu)
|
|
half = DeviceManager.get_instance().halfPrecisionAvailable(gpu)
|
|
|
|
# # Inferencer 生成
|
|
# try:
|
|
# inferencer = InferencerManager.getInferencer(modelSlot.modelType, modelSlot.modelFile, gpu)
|
|
# except Exception as e:
|
|
# print("[Voice Changer] exception! loading inferencer", e)
|
|
# traceback.print_exc()
|
|
|
|
# # Embedder 生成
|
|
# try:
|
|
# embedder = EmbedderManager.getEmbedder(
|
|
# modelSlot.embedder,
|
|
# # emmbedderFilename,
|
|
# half,
|
|
# dev,
|
|
# )
|
|
# except Exception as e:
|
|
# print("[Voice Changer] exception! loading embedder", e)
|
|
# traceback.print_exc()
|
|
|
|
# # pitchExtractor
|
|
# pitchExtractor = PitchExtractorManager.getPitchExtractor(f0Detector, gpu)
|
|
|
|
|
|
# pipeline = Pipeline(
|
|
# embedder,
|
|
# inferencer,
|
|
# pitchExtractor,
|
|
# index,
|
|
# modelSlot.samplingRate,
|
|
# dev,
|
|
# half,
|
|
# )
|
|
|
|
# return pipeline
|
|
|