diff --git a/nodes/generator.py b/nodes/generator.py index 2648f74..57e7037 100644 --- a/nodes/generator.py +++ b/nodes/generator.py @@ -62,18 +62,13 @@ class OmniVoiceGenerate: "default": "", "tooltip": "Transcription of ref_audio. Connect a Whisper (or other STT) node for best results.", }), - "language": ( - ["auto", "English", "Chinese"], - { - "default": "auto", - "tooltip": ( - "Used in voice_design mode to select the instruct vocabulary.\n" - "'English' uses English instruct items (male, female, british accent …)\n" - "'Chinese' uses Chinese dialect items (男, 女, 四川话, 东北话 …)\n" - "Has no effect in voice_cloning mode (language is inferred from text)." - ), - }, - ), + "language": ("STRING", { + "default": "auto", + "tooltip": ( + "Connect the 'language' output from OmniVoice Voice Design — it sets this automatically.\n" + "Only needed in voice_design/auto_voice mode. Leave 'auto' for voice_cloning." + ), + }), "instruct": ("STRING", { "default": "", "tooltip": ( diff --git a/nodes/voice_design.py b/nodes/voice_design.py index 2dec9b2..2ee4ecd 100644 --- a/nodes/voice_design.py +++ b/nodes/voice_design.py @@ -39,7 +39,7 @@ class OmniVoiceVoiceDesign: ["English", "Chinese"], { "default": "English", - "tooltip": "Selects the instruct vocabulary. Must match the language set in OmniVoice Generate.", + "tooltip": "Selects the instruct vocabulary. The language output wires directly into Generate — no need to set it there too.", }, ), "gender": (cls.GENDERS, {"default": "female", @@ -59,8 +59,8 @@ class OmniVoiceVoiceDesign: }, } - RETURN_TYPES = ("STRING",) - RETURN_NAMES = ("instruct",) + RETURN_TYPES = ("STRING", "STRING") + RETURN_NAMES = ("instruct", "language") FUNCTION = "compose" CATEGORY = "OmniVoice" @@ -68,7 +68,7 @@ class OmniVoiceVoiceDesign: zh_gender="none", zh_age="none", zh_pitch="none", zh_dialect="none"): if language == "Chinese": parts = [v for v in [zh_gender, zh_age, zh_pitch, zh_dialect] if v != "none"] - return (",".join(parts),) + return (",".join(parts), "Chinese") else: parts = [v for v in [gender, age, pitch, accent] if v != "none"] - return (", ".join(parts),) + return (", ".join(parts), "English")