From 69189ffbb92d008b31c76ba377ed3e7853effa46 Mon Sep 17 00:00:00 2001 From: AI Lab <129358391+1038lab@users.noreply.github.com> Date: Wed, 9 Apr 2025 00:28:26 -0700 Subject: [PATCH] Add files via upload --- AILab_MegaTTS.py | 22 +++++++++++++--------- MegaTTS_VoiceMaker.py | 8 ++++---- MegaTTS_utils.py | 6 +----- __init__.py | 34 +++++++++++++++++----------------- 4 files changed, 35 insertions(+), 35 deletions(-) diff --git a/AILab_MegaTTS.py b/AILab_MegaTTS.py index 54c1a72..be049bf 100644 --- a/AILab_MegaTTS.py +++ b/AILab_MegaTTS.py @@ -16,10 +16,7 @@ class MegaTTS3: @classmethod def INPUT_TYPES(s): - if not MegaTTS3.initialization_done: - initialize() - MegaTTS3.initialization_done = True - + # Removed initialization here to prevent startup loading voice_samples = get_voice_samples() default_voice = voice_samples[0] if voice_samples else "" return { @@ -42,6 +39,11 @@ class MegaTTS3: pronunciation_strength, voice_similarity, reference_voice): + # Initialize when the node is actually used + if not MegaTTS3.initialization_done: + initialize() + MegaTTS3.initialization_done = True + if MegaTTS3.infer_instance_cache is not None: infer_instance = MegaTTS3.infer_instance_cache else: @@ -81,10 +83,7 @@ class MegaTTS3S: infer_instance_cache = None @classmethod def INPUT_TYPES(s): - if not getattr(MegaTTS3, 'initialization_done', False): - initialize() - MegaTTS3.initialization_done = True - + # Remove initialization here voice_samples = get_voice_samples() default_voice = voice_samples[0] if voice_samples else "" return { @@ -101,6 +100,11 @@ class MegaTTS3S: CATEGORY = "🧪AILab/🔊Audio" def generate_speech(self, input_text, language, reference_voice): + # Initialize when the node is actually used + if not MegaTTS3.initialization_done: + initialize() + MegaTTS3.initialization_done = True + if MegaTTS3S.infer_instance_cache is not None: infer_instance = MegaTTS3S.infer_instance_cache else: @@ -148,7 +152,7 @@ class MegaTTS_CleanMemory: RETURN_TYPES = ("*",) RETURN_NAMES = ("output",) FUNCTION = "clean_memory" - CATEGORY = "🧪AILab/🔊Audio" + CATEGORY = "🧪AILab/🛠️UTIL" def clean_memory(self, any): if MegaTTS3.infer_instance_cache is not None: diff --git a/MegaTTS_VoiceMaker.py b/MegaTTS_VoiceMaker.py index 777c4f4..ed21d50 100644 --- a/MegaTTS_VoiceMaker.py +++ b/MegaTTS_VoiceMaker.py @@ -13,10 +13,6 @@ class MegaTTS_VoiceMaker: @classmethod def INPUT_TYPES(s): - if not getattr(MegaTTS3, 'initialization_done', False): - initialize() - MegaTTS3.initialization_done = True - return { "required": { "audio_in": ("AUDIO", {"tooltip": "Input audio to be converted."}), @@ -34,6 +30,10 @@ class MegaTTS_VoiceMaker: CATEGORY = "🧪AILab/🔊Audio" def convert_voice(self, audio_in, voice_name, path="", trim_silence=True, normalize_volume=True, max_duration=10.0): + if not MegaTTS3.initialization_done: + initialize() + MegaTTS3.initialization_done = True + if MegaTTS_VoiceMaker.infer_instance_cache is not None: infer_instance = MegaTTS_VoiceMaker.infer_instance_cache else: diff --git a/MegaTTS_utils.py b/MegaTTS_utils.py index 95b0816..5a69a5c 100644 --- a/MegaTTS_utils.py +++ b/MegaTTS_utils.py @@ -136,8 +136,4 @@ def initialize(): except Exception as e: print(f"Error during initialization: {str(e)}") traceback.print_exc() - return False - -if __name__ == "__main__": - print("Starting MegaTTS initialization...") - initialize() \ No newline at end of file + return False \ No newline at end of file diff --git a/__init__.py b/__init__.py index 949d813..88b13f1 100644 --- a/__init__.py +++ b/__init__.py @@ -1,18 +1,18 @@ -from .AILab_MegaTTS import NODE_CLASS_MAPPINGS as MEGATTS_NODE_CLASS_MAPPINGS -from .AILab_MegaTTS import NODE_DISPLAY_NAME_MAPPINGS as MEGATTS_NODE_DISPLAY_NAME_MAPPINGS -from .MegaTTS_VoiceMaker import NODE_CLASS_MAPPINGS as VOICEMAKER_NODE_CLASS_MAPPINGS -from .MegaTTS_VoiceMaker import NODE_DISPLAY_NAME_MAPPINGS as VOICEMAKER_NODE_DISPLAY_NAME_MAPPINGS - -from .MegaTTS_utils import get_voice_samples, get_voice_path - -NODE_CLASS_MAPPINGS = { - **MEGATTS_NODE_CLASS_MAPPINGS, - **VOICEMAKER_NODE_CLASS_MAPPINGS -} - -NODE_DISPLAY_NAME_MAPPINGS = { - **MEGATTS_NODE_DISPLAY_NAME_MAPPINGS, - **VOICEMAKER_NODE_DISPLAY_NAME_MAPPINGS -} - +from .AILab_MegaTTS import NODE_CLASS_MAPPINGS as MEGATTS_NODE_CLASS_MAPPINGS +from .AILab_MegaTTS import NODE_DISPLAY_NAME_MAPPINGS as MEGATTS_NODE_DISPLAY_NAME_MAPPINGS +from .MegaTTS_VoiceMaker import NODE_CLASS_MAPPINGS as VOICEMAKER_NODE_CLASS_MAPPINGS +from .MegaTTS_VoiceMaker import NODE_DISPLAY_NAME_MAPPINGS as VOICEMAKER_NODE_DISPLAY_NAME_MAPPINGS + +from .MegaTTS_utils import get_voice_samples, get_voice_path + +NODE_CLASS_MAPPINGS = { + **MEGATTS_NODE_CLASS_MAPPINGS, + **VOICEMAKER_NODE_CLASS_MAPPINGS +} + +NODE_DISPLAY_NAME_MAPPINGS = { + **MEGATTS_NODE_DISPLAY_NAME_MAPPINGS, + **VOICEMAKER_NODE_DISPLAY_NAME_MAPPINGS +} + __all__ = ['NODE_CLASS_MAPPINGS', 'NODE_DISPLAY_NAME_MAPPINGS'] \ No newline at end of file