diff --git a/GPT_SoVITS/VoiceSave/__init__.py b/GPT_SoVITS/VoiceSave/__init__.py index dadc19e7..4e175d51 100644 --- a/GPT_SoVITS/VoiceSave/__init__.py +++ b/GPT_SoVITS/VoiceSave/__init__.py @@ -99,7 +99,12 @@ class ZIP_File: fl.delete_dir(self.temp_write) POOL.remove(self.name) -def save_tensor(path: str, tensors: Union[torch.Tensor, list],name:str,MySet:set=set(),file_names:Union[str,list,None]=None,**info_save) -> None: +def save_tensor(path: str, + tensors: Union[torch.Tensor, list], + name:str, + MySet:set=set(), + file_names:Union[str,list,None]=None, + **info_save,) -> None: if isinstance(tensors, torch.Tensor): tensors = [tensors] if not file_names: @@ -128,7 +133,10 @@ def save_tensor(path: str, tensors: Union[torch.Tensor, list],name:str,MySet:set zf.close() del zf -def load_tensor(path: str,name:str,find_func,MySet:set=set()) -> list[torch.Tensor]: +def load_tensor(path: str, + name:str, + find_func, + MySet:set=set(),) -> list[torch.Tensor]: zf = ZIP_File(path, name, MySet=MySet) zf.release() voice_path = find_func(zf,il) @@ -140,4 +148,16 @@ def load_tensor(path: str,name:str,find_func,MySet:set=set()) -> list[torch.Tens tensors.append(tensor) zf.close() del zf - return tensors \ No newline at end of file + return tensors + +def add_tensor(add:list[torch.Tensor], + path: str, + name:str, + find_func, + MySet:set=set(), + file_names:Union[str,list,None]=None, + **info_save,): + tensors = load_tensor(path,name,find_func,MySet=MySet) + tensors.extend(add) + save_tensor(path,tensors,name,MySet=MySet,file_names=file_names,**info_save) + \ No newline at end of file