Audio Region Mask (ACE 1.5) β‘π ‘π π £π
Mark a time window in a song for ACE-Step 1.5 to repaint
- audio_latents
- MASK
Same job as its sibling AudioRegionMask, rebuilt for ACE-Step 1.5. You pick a time window in your generated song - seconds in, seconds out - and it hands you a mask covering exactly that stretch, meant for feeding into an ACE-Step repaint or extend pass so only that section gets regenerated (or, inverted in your downstream logic, only that section gets protected while the rest changes).
How it works
The pack notes ACE-Step 1.5 native integration as one of its headline features - custom guiders that support extend/repaint and style-transfer operations on the model. This node is the masking half of that: it doesn't touch audio directly, it builds the time-window mask that tells the ACE-Step guider where to apply its repaint. start_time/end_time set the window in seconds, mask_value sets how strongly it's marked, and feather_seconds softens the edges so the region boundary doesn't produce an audible seam.
The reason this exists as a separate node from the 1.0 version rather than one node with a version dropdown: ACE-Step 1.0 and 1.5 use different internal latent shapes, so the mask has to be built to match whichever one you're actually running.
The inputs and outputs that matter
audio_latents(LATENT, required) - the ACE-Step 1.5 latent this mask needs to match.start_time/end_time(seconds, default 5 / 15, range 0β1000) - the region you're masking.mask_value(default 1, range 0β1) - intensity of the masked region.feather_seconds(default 0, range 0β5) - soften the region's start/end edges instead of a hard cut.
Output: a single MASK shaped for ACE-Step 1.5's timeline, ready for a repaint/extend/style-transfer guider setup.
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 this node, but the pack's README notes ACE-Step's silence latent is pulled from HuggingFace automatically the first time any ACE-Step node runs - make sure you have HF access on that first run.
Common issues & troubleshooting
You're actually on ACE-Step 1.0 and something's off. Use plain AudioRegionMask instead - this one is built specifically for 1.5's latent shape and will fight with 1.0 latents.
Audible click or seam at the edges of the region. Increase feather_seconds from its default of 0. A hard-edged region boundary is the usual cause of an audible discontinuity right at the transition point.
Can't tell what the mask actually covers. Route the output through the pack's AudioMaskAnalyzer node first to get a readable string description before committing generation time to it.
Region has no visible effect on the output. Check start_time/end_time genuinely fall inside your clip - the fields accept values up to 1000 seconds regardless of your actual audio length, so a window set past the end of a shorter clip silently masks nothing that exists.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| audio_latents | LATENT | β | |
| start_time | FLOAT | 5.00β1000 | β |
| end_time | FLOAT | 15.00β1000 | β |
| mask_value | FLOAT | 1.000β1 | β |
| feather_seconds | FLOAT | 0.00β5 | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MASK | MASK | β |