From 7b4ef129082634d03cca33668816c64f947c9843 Mon Sep 17 00:00:00 2001 From: AIFSH <1509359472@qq.com> Date: Mon, 29 Apr 2024 23:39:06 +0000 Subject: [PATCH] fix bug --- __init__.py | 10 +++++---- nodes.py | 27 +++++++++++++++++++++++ rvc/__pycache__/__init__.cpython-310.pyc | Bin 149 -> 0 bytes rvc/__pycache__/train.cpython-310.pyc | Bin 11457 -> 0 bytes 4 files changed, 33 insertions(+), 4 deletions(-) delete mode 100644 rvc/__pycache__/__init__.cpython-310.pyc delete mode 100644 rvc/__pycache__/train.cpython-310.pyc diff --git a/__init__.py b/__init__.py index 8cde5cd..a8fcc26 100644 --- a/__init__.py +++ b/__init__.py @@ -37,7 +37,7 @@ else: WEB_DIRECTORY = "./web" -from .nodes import LoadAudio, PreViewAudio,RVC_Train,RVC_Infer +from .nodes import LoadAudio, PreViewAudio,RVC_Train,RVC_Infer,CombineAudio # Set the web directory, any .js file in that directory will be loaded by the frontend as a frontend extension # WEB_DIRECTORY = "./somejs" @@ -48,15 +48,17 @@ NODE_CLASS_MAPPINGS = { "LoadAudio": LoadAudio, "PreViewAudio": PreViewAudio, "RVC_Train": RVC_Train, - "RVC_Infer": RVC_Infer + "RVC_Infer": RVC_Infer, + "CombineAudio": CombineAudio } # A dictionary that contains the friendly/humanly readable titles for the nodes NODE_DISPLAY_NAME_MAPPINGS = { "LoadAudio": "AudioLoader", "PreViewAudio": "PreView Audio", - "RVC_Train": "RVC_Train", - "RVC_Infer": "RVC_Infer" + "RVC_Train": "RVC Train", + "RVC_Infer": "RVC Inference", + "CombineAudio": "CombineAudio" } @PromptServer.instance.routes.get("/rvc/reboot") diff --git a/nodes.py b/nodes.py index b849e8c..0538837 100644 --- a/nodes.py +++ b/nodes.py @@ -3,6 +3,7 @@ import time import shutil import folder_paths import numpy as np +from pydub import AudioSegment from multiprocessing import cpu_count from scipy.io.wavfile import write as wavwrite from .rvc.train import vc,gpus,default_batch_size,preprocess_dataset,extract_f0_feature,train1key @@ -15,6 +16,7 @@ os.environ["weight_root"] = rvc_out_path os.environ["index_root"] = rvc_out_path os.environ["rmvpe_root"] = os.path.join(now_dir,"rvc","assets","rmvpe") os.environ["hubert_base"] = os.path.join(now_dir,"rvc","assets","hubert","hubert_base.pt") +os.makedirs(os.path.join(now_dir,"rvc","assets", "weights"),exist_ok=True) class RVC_Infer: @classmethod def INPUT_TYPES(s): @@ -211,6 +213,31 @@ class RVC_Train: shutil.copy(weight_path, os.path.join(rvc_out_path,f"{exp_name}.pth")) return {"ui": {"train":[rvc_out_path]}} +class CombineAudio: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"vocal_AUDIO": ("AUDIO",), + "bgm_AUDIO": ("AUDIO",) + } + } + + CATEGORY = "AIFSH_RVC" + DESCRIPTION = "hello world!" + + RETURN_TYPES = ("AUDIO",) + + OUTPUT_NODE = True + + FUNCTION = "combine_audio" + + def combine_audio(self, vocal_AUDIO, bgm_AUDIO): + vocal = AudioSegment.from_file(vocal_AUDIO) + bgm = AudioSegment.from_file(bgm_AUDIO) + audio = vocal.overlay(bgm) + audio_file = os.path.join(out_path,f"{time.time()}_rvc_result_voice.wav") + audio.export(audio_file, format="wav") + return (audio_file,) class PreViewAudio: @classmethod diff --git a/rvc/__pycache__/__init__.cpython-310.pyc b/rvc/__pycache__/__init__.cpython-310.pyc deleted file mode 100644 index 1d39878ccdfef22df0fa6eaf3a966a6bed1ad473..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 149 zcmd1j<>g`k0+z3OX(0MBh(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o6v4KciB&B)34{ zIX^e8GSpK)xwN<>KQ}%vKP9yoCa4<}=B!^-maHEipP83g5+AQuPPx# diff --git a/rvc/__pycache__/train.cpython-310.pyc b/rvc/__pycache__/train.cpython-310.pyc deleted file mode 100644 index dca1009a6b7619065105eb4f03b106c74729857e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11457 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%0A_J@Vm6E~0T{R8G~wT;MsHBCpMoDy z@Iwj+)enWdXd|!`XMm^JoWDs`u5$$Nf2M+syM1kd36^w{fT?%G7`4egV8Afx7RJrS zouk3biAAEy`n`%BqmWtDj~yfSq1Z9~v}1k(azhUYNx`Bl@YFP)A#Pqm;2Ch`J7l@? z=P7TB@`8}|6rH0%7_8j3PI~l7T5+B~Lsf)iRt;xQb22zlNh)60E=|^!jBv@D&Gu~8 zO7i?j&2AQEH4H}h>_>#-p71TXQRwS8d&GZpgEG6t4bVvK254k1RgZGo?_LP%@?QUX z!GPHAg;zc61s^*2z{IhMqn?ovU%Vv}{;U?zLRhXal}jw?Mg4Of_X(xE1Jf6WyBR_t zOc@;WIV%Sy)1>q9xsw-#rbx~uGw||cEn$BP!`5pid!|N8Tt7#MGc}o?_jSrQDB00a z39`XTb22cyqrQg-J;4PabdxZ(O!2iISycQ5YTe4LbP}KcB-RXTeu+jyYZ`a(DNlu> z_CM1K)?{TiP4Oi2zZxoL=gsI*B=4hdh>*gR`d@o_(R3lpEH17EY~fY$g0PXqmx96M zq%AH7AV|7Qgdk~8dF?b9_!;2zB74db4h+vgj(@ul@vk)!zdKXdLi|bq8&H`$Yr>_Qth8au2NiT9sCq{W^3