Add audio output to SaveAudio nodes

This commit is contained in:
Alexis Rolland 2026-05-13 13:46:52 +08:00
parent 65465a2ea7
commit 0885637683

View File

@ -167,16 +167,16 @@ class SaveAudio(IO.ComfyNode):
], ],
hidden=[IO.Hidden.prompt, IO.Hidden.extra_pnginfo], hidden=[IO.Hidden.prompt, IO.Hidden.extra_pnginfo],
is_output_node=True, is_output_node=True,
outputs=[IO.Audio.Output("audio")]
) )
@classmethod @classmethod
def execute(cls, audio, filename_prefix="ComfyUI", format="flac") -> IO.NodeOutput: def execute(cls, audio, filename_prefix="ComfyUI", format="flac") -> IO.NodeOutput:
return IO.NodeOutput( return IO.NodeOutput(
audio,
ui=UI.AudioSaveHelper.get_save_audio_ui(audio, filename_prefix=filename_prefix, cls=cls, format=format) ui=UI.AudioSaveHelper.get_save_audio_ui(audio, filename_prefix=filename_prefix, cls=cls, format=format)
) )
save_flac = execute # TODO: remove
class SaveAudioMP3(IO.ComfyNode): class SaveAudioMP3(IO.ComfyNode):
@classmethod @classmethod
@ -194,18 +194,18 @@ class SaveAudioMP3(IO.ComfyNode):
], ],
hidden=[IO.Hidden.prompt, IO.Hidden.extra_pnginfo], hidden=[IO.Hidden.prompt, IO.Hidden.extra_pnginfo],
is_output_node=True, is_output_node=True,
outputs=[IO.Audio.Output("audio")]
) )
@classmethod @classmethod
def execute(cls, audio, filename_prefix="ComfyUI", format="mp3", quality="128k") -> IO.NodeOutput: def execute(cls, audio, filename_prefix="ComfyUI", format="mp3", quality="128k") -> IO.NodeOutput:
return IO.NodeOutput( return IO.NodeOutput(
audio,
ui=UI.AudioSaveHelper.get_save_audio_ui( ui=UI.AudioSaveHelper.get_save_audio_ui(
audio, filename_prefix=filename_prefix, cls=cls, format=format, quality=quality audio, filename_prefix=filename_prefix, cls=cls, format=format, quality=quality
) )
) )
save_mp3 = execute # TODO: remove
class SaveAudioOpus(IO.ComfyNode): class SaveAudioOpus(IO.ComfyNode):
@classmethod @classmethod
@ -222,18 +222,18 @@ class SaveAudioOpus(IO.ComfyNode):
], ],
hidden=[IO.Hidden.prompt, IO.Hidden.extra_pnginfo], hidden=[IO.Hidden.prompt, IO.Hidden.extra_pnginfo],
is_output_node=True, is_output_node=True,
outputs=[IO.Audio.Output("audio")]
) )
@classmethod @classmethod
def execute(cls, audio, filename_prefix="ComfyUI", format="opus", quality="V3") -> IO.NodeOutput: def execute(cls, audio, filename_prefix="ComfyUI", format="opus", quality="V3") -> IO.NodeOutput:
return IO.NodeOutput( return IO.NodeOutput(
audio,
ui=UI.AudioSaveHelper.get_save_audio_ui( ui=UI.AudioSaveHelper.get_save_audio_ui(
audio, filename_prefix=filename_prefix, cls=cls, format=format, quality=quality audio, filename_prefix=filename_prefix, cls=cls, format=format, quality=quality
) )
) )
save_opus = execute # TODO: remove
class PreviewAudio(IO.ComfyNode): class PreviewAudio(IO.ComfyNode):
@classmethod @classmethod
@ -248,13 +248,12 @@ class PreviewAudio(IO.ComfyNode):
], ],
hidden=[IO.Hidden.prompt, IO.Hidden.extra_pnginfo], hidden=[IO.Hidden.prompt, IO.Hidden.extra_pnginfo],
is_output_node=True, is_output_node=True,
outputs=[IO.Audio.Output("audio")]
) )
@classmethod @classmethod
def execute(cls, audio) -> IO.NodeOutput: def execute(cls, audio) -> IO.NodeOutput:
return IO.NodeOutput(ui=UI.PreviewAudio(audio, cls=cls)) return IO.NodeOutput(audio, ui=UI.PreviewAudio(audio, cls=cls))
save_flac = execute # TODO: remove
def f32_pcm(wav: torch.Tensor) -> torch.Tensor: def f32_pcm(wav: torch.Tensor) -> torch.Tensor: