Nodes/RyanOnTheInside/Audio Temporal Mask (ACE 1.5) βš‘πŸ…‘πŸ…žπŸ…£πŸ…˜
ComfyUI Node

Audio Temporal Mask (ACE 1.5) βš‘πŸ…‘πŸ…žπŸ…£πŸ…˜

A flat, whole-clip mask for ACE-Step 1.5

By ryanontheinsideΒ·Created 2 years agoΒ·Updated 5 months agoΒ· 852
Audio Temporal Mask (ACE 1.5) βš‘πŸ…‘πŸ…žπŸ…£πŸ…˜
  • audio_latents
  • MASK
β—„value0.50β–Ί
β—„length_mismatchrepeatβ–Ί

The ACE-Step 1.5 counterpart to AudioTemporalMask. Instead of masking one time window, it stamps a single uniform value across the entire length of your ACE-Step 1.5 audio latent - the flat baseline mask you'd use for a whole-clip repaint pass, or as a starting layer you combine with something more targeted like AudioRegionMask15.

How it works

value sets the intensity applied across the whole clip, no windowing involved. The important field is length_mismatch: a mask has to line up exactly with the latent it applies to, and if the length you're generating doesn't cleanly match your actual audio latent's length, this decides the fallback. repeat pads the difference out with the last value; loop wraps the pattern around instead. Worth actually testing both on your specific clip rather than assuming - a subtle length mismatch is an easy thing to miss until you notice the tail of a generation behaving oddly.

This is built specifically for ACE-Step 1.5's latent shape. If you're running ACE-Step 1.0, use plain AudioTemporalMask instead - they're not interchangeable.

The inputs and outputs that matter

  • audio_latents (LATENT, required) - the ACE-Step 1.5 latent the mask needs to match.
  • value (default 0.5, range 0–1) - the uniform mask value across the entire clip.
  • length_mismatch (repeat or loop, default repeat) - how a length mismatch between mask and latent gets resolved.

Output: a single MASK covering the full clip length.

How to install it

Via ComfyUI Manager: search "RyanOnTheInside," install, restart. By hand:

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

then restart. No separate download for the mask node itself - but the first ACE-Step node you run in a session triggers an automatic HuggingFace pull of ACE-Step's silence latent, per the pack's README, so make sure you have HF access for that first run.

Common issues & troubleshooting

You're actually running ACE-Step 1.0. Use AudioTemporalMask (no 15 suffix) instead - this node assumes 1.5's latent shape and will produce shape mismatches on 1.0.

Want stronger masking in one section, weaker elsewhere. This node can't do that by design - it's flat across the whole clip. Reach for AudioRegionMask15 for a specific time window, or drive things with a FEATURE signal upstream if you need something that varies continuously.

Output length or tail behavior looks wrong. That's length_mismatch. Toggle between repeat and loop - one of them will line up cleanly with your specific clip length, and there's no way to know which without checking, since it depends on exactly how far off the lengths are.

Categoryconditioning/audio

Inputs (3)

NameTypeDefaultDescription
audio_latentsLATENTβ€”
valueFLOAT0.500–1β€”
length_mismatchCOMBOrepeat2 options: repeat, loop

Outputs (1)

NameTypeDescription
MASKMASKβ€”