Colored Noise Sampler
This is the node the colored-noise pack is actually about
- SAMPLER
Colored Noise Sampler is the heart of akashzeno/ComfyUI-ColoredNoiseDiffusionSampling. It outputs a SAMPLER - a drop-in for the sampler slot in SamplerCustom or SamplerCustomAdvanced - that wraps your usual stochastic sampler and colors the noise it injects at every step. The all-in-one ColoredNoise_KSampler is this same machinery in a KSampler-shaped wrapper; this node is the raw version, for when you're already building the custom-sampling graph.
The idea comes from the Colored Noise Diffusion Sampling paper (Davidson, Issachar & Benaim, arXiv:2605.30332): standard SDE samplers pump white noise into every step, wasting energy on frequency bands that are already resolved. Colored noise routes that energy toward the bands that still need work - low-frequency structure early, high-frequency detail late. Here's how this pack does it: draw white noise, FFT it, multiply the spectrum by a radially symmetric per-frequency profile, inverse-FFT, renormalize to unit variance. The sampler's own sigma_up · s_noise amplitude still applies on top; the pack just changes the flavor of what gets injected.
What you actually set
base_sampler- dropdown is pre-filtered to stochastic samplers only (ancestral/SDE likedpmpp_2m_sde, plus the_RFrectified-flow variants for Flux/SD3). Deterministic samplers never inject per-step noise, so coloring them would do nothing - the pack doesn't even list them.mode-parametric(default) orgamma_matrix. Start parametric: it's a model-agnostic power-law profileamplitude(f) ∝ f^(−α/2)with the exponent interpolated fromalpha_start(high sigma) toalpha_end(low sigma), linearly or exponentially.etaands_noise- the universal SDE knobs, forwarded to the base sampler.eta = 0makes the step deterministic and disables colored noise entirely, so leave it alone unless you're deliberately testing.energy_scale- post-renorm "heat" knob. Default1.0is neutral; anything else intentionally changes the noise level.
The gamma controls (gamma_matrix, gamma_divider, gamma_shaping, power_gamma, alpha_tilting) only matter in gamma_matrix mode - the paper-faithful path that loads a [steps, bins] matrix from models/colored_noise_gamma/. Two SiT/ImageNet matrices ship with the pack. Honest warning, straight from the README: on SD/SDXL/Flux those matrices are a documented heuristic, not a calibrated schedule, so use parametric for real work and gamma_matrix for experimenting.
How to wire it
Colored Noise (Initial) ─┐
Colored Noise Sampler ───┤
BasicScheduler ──────────┼─► SamplerCustomAdvanced ─► VAE Decode
BasicGuider ─────────────┘
This node colors per-step noise; the initial latent start is a separate concern, which is exactly why the pack ships ColoredNoise_Noise for the noise input.
Install and sanity checks
No pip dependencies (torch ships with ComfyUI). ComfyUI Manager → search "Colored Noise", or:
cd ComfyUI/custom_nodes
git clone https://github.com/akashzeno/ComfyUI-ColoredNoiseDiffusionSampling
Restart, and confirm the startup log: [ColoredNoiseDiffusionSampling] loaded: 3 nodes | 22 stochastic base samplers | .... Each generation logs which base sampler and alpha sweep it ran, so you can verify coloring is active rather than guessing.
One note on expectations: the paper's quantitative wins were measured on SiT, not on the models most of us run. This is a quality/character knob - some models genuinely like the broadband-to-detail sweep, others shrug. Cheap to test, worth having in the box.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| base_sampler | COMBO | dpmpp_2m_sde | Stochastic base sampler whose per-step noise is colored. |
| eta | FLOAT | 1.000–100 | Stochasticity. eta=0 makes the SDE/ancestral step deterministic, which disables colored noise entirely. |
| s_noise | FLOAT | 1.000–100 | — |
| mode | COMBO | parametric | 2 options: parametric, gamma_matrix |
| alpha_start | FLOAT | 0.00-8–8 | Spectral exponent at the start (high sigma). 0=white, +red/pink, -blue/violet. |
| alpha_end | FLOAT | -1.00-8–8 | Spectral exponent at the end (low sigma). Interpolated over the trajectory. |
| interpolation | COMBO | linear | 2 options: linear, exponential |
| exp_sharpness | FLOAT | 4.00.1–16 | — |
| gamma_matrix | COMBO | none (parametric) | gamma_matrix mode only. Drop .pt matrices into models/colored_noise_gamma. |
| gamma_divider | FLOAT | 1.000.1–10 | — |
| gamma_shaping | COMBO | none | 3 options: none, sqrt, power |
| power_gamma | FLOAT | 1.000.1–8 | — |
| alpha_tilting | FLOAT | 0.00-8–8 | — |
| energy_scale | FLOAT | 1.000–4 | Scales noise std after unit-variance renorm. 1.0 = neutral; >1 injects more 'heat'. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| SAMPLER | SAMPLER | — |