Audio Transient Shaper π₯
The Punch Button for Drum Hits That Sound Like Pillows
- audio_samples
- audio_out
- summary
Ever generated a drum hit or an impact sound and felt it land like a wet towel? That's a weak transient - the initial attack spike that gives a hit its snap got smeared or softened somewhere. Audio Transient Shaper is the fix: it independently boosts or cuts the attack and sustain portions of a signal, letting you punch up a hit without turning up the whole track. It's the difference between "there was a sound" and "that thing hit."
How it works
It splits the signal into two envelopes using exponential followers - a fast one that captures the attack, a slow one that captures the body/sustain - derives the transient component as the difference between them, and rebuilds the signal with independently scaled attack and sustain gain. Two amounts, two time constants:
attack_amount(default 1.5) - above 1.0 boosts the transient punch/snap, below 1.0 softens it. This is your "make it hit harder" knob.sustain_amount(default 1.0) - above 1.0 boosts the body/tail, below 1.0 tightens it. Turning sustain down is how you make a ringy, boomy hit into a tight thump.attack_ms(5) andsustain_ms(80) - the envelope time constants. Shorter attack catches a sharper transient; longer sustain treats more of the signal as "body."
The distinction from the pack's other processors is worth internalizing: this reshapes the signal's own envelope (a loudness curve of the sound itself), whereas Audio Sidechain Duck reshapes one signal based on another signal's level, and Audio Reverb adds a tail. Different tools, and it's easy to grab the wrong one if you're not looking. A transient shaper doesn't add reverb and it doesn't duck anything - it makes what's already there punchier or softer.
The workflow
The output is audio_out plus a summary string, so it slots into a chain anywhere before final level control. The natural home is right after a pitch shift or stem-split, before the mixer: shape the drum's attack, then balance it against the rest. The classic move is attack up and sustain down - punchy hit, no boom - which is exactly what a lot of generated percussion needs.
The honest limits
It's a two-band shaper, not a multiband one - the whole signal's attack is shaped together, so you can't punch up the click of a kick without also affecting the click of a snare in the same signal. On a full mix that's a blunt instrument; on a single drum stem or impact sound it's exactly right. And overdriving attack_amount near the 4.0 ceiling produces harsh, clipped-sounding hits - the "snap" becomes distortion. Start at 1.5, nudge in increments, and trust your ears over the meter.
Install
ComfyUI Manager β search OmniNodes, or:
cd ComfyUI/custom_nodes
git clone https://github.com/TensorVizion/OmniNodes
Restart ComfyUI; it's under TensorVizion/Audio. Pure NumPy, no extra dependencies. If your generated drums sound like they're wrapped in foam, this is the first node to reach for.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| audio_samples | AUDIO | β | |
| sample_rate | INT | 441008000β192000 | β |
| attack_amount | FLOAT | 1.500β4 | β |
| sustain_amount | FLOAT | 1.000β4 | β |
| attack_ms | FLOAT | 5.00.5β50 | β |
| sustain_ms | FLOAT | 8010β500 | β |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| audio_out | AUDIO | β |
| summary | STRING | β |