|
from audio_separator.separator import Separator |
|
import os |
|
from scipy.io import wavfile |
|
|
|
weight_uvr5_root = os.getenv("weight_uvr5_root") |
|
|
|
uvr5_names = [] |
|
class UVRHANDLER: |
|
def __init__(self, output_dir='opt', model_file_dir=weight_uvr5_root): |
|
self.output_dir = output_dir |
|
self.model_file_dir = model_file_dir |
|
self.separator = Separator(output_dir=self.output_dir, model_file_dir=self.model_file_dir) |
|
|
|
def loadmodel(self, model_name, output_dir='opt/', model_file_dir=weight_uvr5_root): |
|
self.output_dir = output_dir |
|
self.model_file_dir = model_file_dir |
|
self.separator = Separator(output_dir=self.output_dir, model_file_dir=self.model_file_dir) |
|
self.separator.load_model(model_name) |
|
globname = model_name |
|
return f'Loaded {model_name}!' |
|
|
|
def deloadmodel(self): |
|
del self.separator |
|
self.separator = Separator(output_dir=self.output_dir, model_file_dir=self.model_file_dir) |
|
return f'Unloaded!' |
|
|
|
def uvr(self, audio, outputdir='opt'): |
|
if audio is not None: |
|
file_name = audio.name |
|
|
|
print(file_name) |
|
|
|
inst, voc = self.separator.separate(file_name) |
|
return self.output_dir+inst, self.output_dir+voc |
|
|
|
def set_output_dir(self, output_dir): |
|
self.output_dir = output_dir |
|
|