Nodes/ComfyUI-WanVideoWrapper/Normalize Audio Loudness
ComfyUI Node Runs on cloud

Normalize Audio Loudness

Even out your audio before it drives Wan

By kijai·Created about a year ago·Updated 2 months ago· 6,651
Normalize Audio Loudness
  • audio
  • audio
lufs-23.0

This is a tiny, boring, genuinely useful node, and there's not much mystery to it. It takes an audio clip and normalizes its loudness to a target level measured in LUFS. That's it. In a Wan audio-driven workflow - talking heads, MultiTalk, InfiniteTalk, anything where sound shapes the motion - a track that's too quiet or wildly uneven in volume gives the audio encoder a weak or inconsistent signal, and your lip-sync suffers for it. Run the audio through here first and every clip lands at the same, sane level.

If you've ever wondered why one voice track drove great mouth movement and another barely registered, mismatched loudness is a prime suspect, and this is the one-node fix.

How it works

LUFS (Loudness Units relative to Full Scale) is the broadcast-standard way to measure perceived loudness rather than raw peak level - it's what streaming platforms and TV use to keep everything at a consistent volume. This node measures your audio's loudness and applies a gain adjustment to hit your target LUFS. It's the same idea as the "normalize loudness" toggle baked into some of the audio-embeds nodes, pulled out as its own step so you can normalize once and reuse.

The inputs and outputs that matter

Two inputs, one output - it doesn't get simpler:

  • audio (AUDIO) - the clip to normalize.
  • lufs (default -23) - the target loudness. -23 LUFS is the EBU broadcast standard, which is why it's the default; it's a safe, conservative level. If you want the audio hotter (louder), move toward something like -16 or -14, which is closer to what streaming services target. Higher (less negative) = louder.

Output is the normalized audio (AUDIO), which you feed into your audio-embeds node - or mux back onto the final video.

How to install it

ComfyUI Manager - search ComfyUI-WanVideoWrapper, install, restart. Manual:

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

then restart. No models involved - it's a signal-processing utility.

Common issues & troubleshooting

You normalized and it's now clipping / distorted. You probably set lufs too high for the material. Pushing quiet audio up to a hot target can force gain that distorts. Back off toward -20 or the -23 default; loudness normalization can't add headroom that isn't there.

No audible difference. If your source was already near the target LUFS, there's nothing to do - normalization only moves the level toward the target, it doesn't reshape dynamics. That's expected, not a bug.

Do you even need it? The MultiTalk/InfiniteTalk embeds node has a normalize_loudness toggle of its own that's on by default. If you're already relying on that, this standalone node is mostly for when you want explicit control over the target level, or want to normalize the track once and use it in several places.

CategoryWanVideoWrapper

Inputs (2)

NameTypeDefaultDescription
audioAUDIO
lufsFLOAT-23.0-100–0

Outputs (1)

NameTypeDescription
audioAUDIO