Nodes/Sage Utils/KSampler + Audio Decoder
ComfyUI Node

KSampler + Audio Decoder

The ACE-Step sibling of Sage's sample-and-decode nodes

By arcum42·Created 2 years ago·Updated 24 days ago· 32
KSampler + Audio Decoder
  • model
  • sampler_info
  • positive
  • negative
  • latent_audio
  • vae
  • latent
  • audio
denoise1.00

Same family, same idea as Sage_KSamplerTiledDecoder, but for audio: it denoises a latent using the shared Sampler Info settings pattern, then runs the result through a VAE to produce actual playable audio in one node instead of two. The README calls it plainly: "KSampler with an audio decoder varient of the above nodes." If you're building an ACE-Step music-generation pipeline in Sage Utils, this is the node that sits at the sampling step.

How it fits the ACE-Step pipeline

This node is the middle piece of a three-node chain the pack sets up for audio: Sage_EmptyAceStep15LatentAudio builds the starting empty latent (set its seconds to your target song length), Sage_Ace15AudioEncode builds your positive conditioning from tags, lyrics, and musical parameters like BPM and key (or use Sage_ZeroConditioning for the negative side if you don't want text steering the negative), and this node ties them together - sampling the latent under that conditioning and decoding straight to audio with the model's VAE.

Inputs and outputs

  • model - the ACE-Step model.
  • sampler_info - Sage's shared settings bundle (steps, CFG, sampler, scheduler, seed), same node type used across all of Sage's KSampler variants - build it once with a Sampler Info node and reuse it here and on your image samplers if your workflow has both.
  • positive / negative - conditioning, most likely from Sage_Ace15AudioEncode and Sage_ZeroConditioning respectively.
  • latent_audio - the empty (or partially-denoised) latent audio tensor to sample from.
  • vae - the audio VAE, required here since the decode step is built in.
  • denoise - 0–1, default 1.

Two outputs: latent (in case you want to chain further latent-space processing) and audio - the actual decoded audio, ready for whatever save-audio node you're using downstream (not part of this pack).

Installing it

ComfyUI Manager: search Sage Utils, install, restart. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/arcum42/ComfyUI_SageUtils
cd ComfyUI_SageUtils
pip install -r requirements.txt

Restart ComfyUI. This node doesn't ship an ACE-Step model - you need the checkpoint and audio VAE loaded separately, and they're not small downloads.

Common issues

Same pairing rule as the image-side KSamplers: without a sampler_info connection, there's nothing set for steps, CFG, sampler, or scheduler - add a Sampler Info node upstream, it's not optional.

Duration mismatches are the more audio-specific gotcha: if latent_audio was built for, say, 60 seconds but your Sage_Ace15AudioEncode conditioning was set for a 120-second duration, expect the model to fight that inconsistency rather than gracefully split the difference. Keep the seconds/duration values in sync across the whole chain. And given this is a smaller, single-maintainer pack, ACE-Step support here is newer and less trodden ground than the image nodes - if you hit an odd failure, check recent GitHub activity before assuming it's purely a workflow mistake.

CategorySage Utils/sampler

Inputs (7)

NameTypeDefaultDescription
modelMODELThe model used for denoising audio latent.
sampler_infoSAMPLER_INFOSampler configuration for the KSampler.
positiveCONDITIONINGPositive conditioning for audio generation.
negativeCONDITIONINGNegative conditioning for audio generation.
latent_audioLATENTThe latent audio tensor to denoise.
vaeVAEThe audio VAE used to decode the denoised latent.
denoiseFLOAT1.000–1The denoising strength.

Outputs (2)

NameTypeDescription
latentLATENTThe denoised latent audio output.
audioAUDIOThe decoded audio result.