MD: Noise Blender (5-Layer)
Blend up to five noise sources like image layers
- base_noise
- noise_2
- noise_3
- noise_4
- noise_5
- blended_noise
- preview_image
Noise is the seed of every diffusion generation - literally, the starting tensor the sampler denoises. MD_MultiNoiseBlender takes that idea and turns it into a compositing tool: it mixes up to five separate NOISE sources together using image-editing blend modes (add, multiply, screen, difference...), so you can construct a custom noise floor instead of just accepting whatever RandomNoise gives you.
Why would you bother? Because the noise you start from shapes the output's structure. Clean per-pixel Gaussian noise gives you one kind of composition; a noise with directional or low-frequency character gives you another. People use custom noise for consistent character across frames, for adding texture that carries through a generation, or for deliberate artifacts that a single noise source can't produce. This node is the "mix your raw ingredients" stage of that game.
How it works
You feed base_noise (the primary layer) plus up to four optional noise_2 through noise_5 layers. Each optional layer has its own blend mode and a factor controlling how strongly it's mixed in. The blend modes are the classic compositing set - Add, Multiply, Average, Max, Min, Screen, Overlay, Difference, Exclusion - applied per-element on the noise tensors. After the layers combine, a normalize_result option tidies up the output: Clamp cuts extremes to -1..1, Auto-Norm (Std Dev) restores the noise's standard deviation (the recommended option for complex blends, since mixing wildly different noise scales otherwise leaves you with mush or hot spots), or Renormalize to Base rescales back toward the base layer's character.
The inputs that matter
- base_noise - the mandatory first layer; a NOISE output from a noise generator node.
- noise_2 .. noise_5 - optional layers; skip any of them by leaving the input unconnected.
- mode_N / factor_N - each layer's blend mode and strength. Factor goes -2 to +2, so you can subtract a layer too.
- normalize_result - the post-mix repair step. Start with Auto-Norm and only go Disabled if you're deliberately chasing a particular noise character.
Outputs: blended_noise (feed it to a sampler's noise input) and preview_image - a rendered view of the mixed noise at your chosen preview size, so you can see what you're about to denoise instead of gambling.
Installing
Ships with MD Nodes:
cd path/to/ComfyUI/custom_nodes
git clone https://github.com/MDMAchine/ComfyUI_MD_Nodes.git
cd ComfyUI_MD_Nodes
pip install -r requirements.txt
Or via ComfyUI Manager (MD Nodes), restart. The blend math is pure torch; the preview needs nothing beyond the pack's standard deps.
Common issues
The main trap is scale drift. If you blend a couple of noise sources with Add and never normalize, the combined noise's standard deviation balloons, and samplers tuned for standard noise will behave unexpectedly - darker or noisier-looking results than you intended. That's why Auto-Norm is the default recommendation. Also remember the inputs are NOISE type, not LATENT: this plugs into a noise-input port on a sampler or into another noise generator, not into your latent pipeline. And for consistent per-frame character in video, keep the seed of each source fixed rather than expecting the blender itself to be deterministic across runs.
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| base_noise | NOISE | BASE NOISE • Purpose: The primary noise source (Layer 1). | |
| normalize_result | COMBO | Disabled | NORMALIZE RESULT • Purpose: Post-processing method to keep mixed values within valid ranges. • Options: - Clamp: Cuts off extremes. - Auto-Norm: Restores standard deviation. ⭐ Recommended: Auto-Norm (Std Dev) for complex blends. |
| preview_width | INT | 51264–2048 | PREVIEW WIDTH • Width for preview output. |
| preview_height | INT | 51264–2048 | PREVIEW HEIGHT • Height for preview output. |
| noise_2opt | NOISE | LAYER 2 • Optional secondary noise source. | |
| mode_2opt | COMBO | Add | 9 options: Add, Multiply, Average, Max, Min, Screen, +3 |
| factor_2opt | FLOAT | 0.50-2–2 | — |
| noise_3opt | NOISE | LAYER 3 • Optional third noise source. | |
| mode_3opt | COMBO | Add | 9 options: Add, Multiply, Average, Max, Min, Screen, +3 |
| factor_3opt | FLOAT | 0.50-2–2 | — |
| noise_4opt | NOISE | LAYER 4 • Optional fourth noise source. | |
| mode_4opt | COMBO | Add | 9 options: Add, Multiply, Average, Max, Min, Screen, +3 |
| factor_4opt | FLOAT | 0.50-2–2 | — |
| noise_5opt | NOISE | LAYER 5 • Optional fifth noise source. | |
| mode_5opt | COMBO | Add | 9 options: Add, Multiply, Average, Max, Min, Screen, +3 |
| factor_5opt | FLOAT | 0.50-2–2 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| blended_noise | NOISE | — |
| preview_image | IMAGE | — |