From 79badea452ff709b6408bd204eba8415f9edec04 Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Wed, 18 Dec 2024 03:01:12 -0500 Subject: [PATCH 1/2] Add ConditioningStableAudio. This lets you control the seconds_start and seconds_total parameters for the Stable Audio model. --- comfy_extras/nodes_audio.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/comfy_extras/nodes_audio.py b/comfy_extras/nodes_audio.py index e5cc4dffe..3cb918e09 100644 --- a/comfy_extras/nodes_audio.py +++ b/comfy_extras/nodes_audio.py @@ -8,6 +8,7 @@ import json import struct import random import hashlib +import node_helpers from comfy.cli_args import args class EmptyLatentAudio: @@ -29,6 +30,27 @@ class EmptyLatentAudio: latent = torch.zeros([batch_size, 64, length], device=self.device) return ({"samples":latent, "type": "audio"}, ) +class ConditioningStableAudio: + @classmethod + def INPUT_TYPES(s): + return {"required": {"positive": ("CONDITIONING", ), + "negative": ("CONDITIONING", ), + "seconds_start": ("FLOAT", {"default": 0.0, "min": 0.0, "max": 1000.0, "step": 0.1}), + "seconds_total": ("FLOAT", {"default": 47.0, "min": 0.0, "max": 1000.0, "step": 0.1}), + }} + + RETURN_TYPES = ("CONDITIONING","CONDITIONING") + RETURN_NAMES = ("positive", "negative") + + FUNCTION = "append" + + CATEGORY = "conditioning" + + def append(self, positive, negative, seconds_start, seconds_total): + positive = node_helpers.conditioning_set_values(positive, {"seconds_start": seconds_start, "seconds_total": seconds_total}) + negative = node_helpers.conditioning_set_values(negative, {"seconds_start": seconds_start, "seconds_total": seconds_total}) + return (positive, negative) + class VAEEncodeAudio: @classmethod def INPUT_TYPES(s): @@ -225,4 +247,5 @@ NODE_CLASS_MAPPINGS = { "SaveAudio": SaveAudio, "LoadAudio": LoadAudio, "PreviewAudio": PreviewAudio, + "ConditioningStableAudio": ConditioningStableAudio, } From 4c5c4ddedaba071872cc25ceaf3aaec25795562d Mon Sep 17 00:00:00 2001 From: comfyanonymous Date: Wed, 18 Dec 2024 03:08:28 -0500 Subject: [PATCH 2/2] Fix regression in VAE code on old pytorch versions. --- comfy/ldm/modules/diffusionmodules/model.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/comfy/ldm/modules/diffusionmodules/model.py b/comfy/ldm/modules/diffusionmodules/model.py index 74322c272..ed1e88212 100644 --- a/comfy/ldm/modules/diffusionmodules/model.py +++ b/comfy/ldm/modules/diffusionmodules/model.py @@ -91,7 +91,7 @@ class Upsample(nn.Module): def forward(self, x): scale_factor = self.scale_factor - if not isinstance(scale_factor, tuple): + if isinstance(scale_factor, (int, float)): scale_factor = (scale_factor,) * (x.ndim - 2) if x.ndim == 5 and scale_factor[0] > 1.0: @@ -109,7 +109,7 @@ class Upsample(nn.Module): else: x = a else: - x = interpolate_up(x, self.scale_factor) + x = interpolate_up(x, scale_factor) if self.with_conv: x = self.conv(x) return x