ComfyUI Node

Colored Noise Sampler

This is the node the colored-noise pack is actually about

By akashzeno·Created 3 months ago·Updated 3 months ago· 3
Colored Noise Sampler
    • SAMPLER
    base_samplerdpmpp_2m_sde
    eta1.00
    s_noise1.00
    modeparametric
    alpha_start0.00
    alpha_end-1.00
    interpolationlinear
    exp_sharpness4.0
    gamma_matrixnone (parametric)
    gamma_divider1.00
    gamma_shapingnone
    power_gamma1.00
    alpha_tilting0.00
    energy_scale1.00

    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 like dpmpp_2m_sde, plus the _RF rectified-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) or gamma_matrix. Start parametric: it's a model-agnostic power-law profile amplitude(f) ∝ f^(−α/2) with the exponent interpolated from alpha_start (high sigma) to alpha_end (low sigma), linearly or exponentially.
    • eta and s_noise - the universal SDE knobs, forwarded to the base sampler. eta = 0 makes the step deterministic and disables colored noise entirely, so leave it alone unless you're deliberately testing.
    • energy_scale - post-renorm "heat" knob. Default 1.0 is 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.

    Categorysampling/colored_noise

    Inputs (14)

    NameTypeDefaultDescription
    base_samplerCOMBOdpmpp_2m_sdeStochastic base sampler whose per-step noise is colored.
    etaFLOAT1.000–100Stochasticity. eta=0 makes the SDE/ancestral step deterministic, which disables colored noise entirely.
    s_noiseFLOAT1.000–100
    modeCOMBOparametric2 options: parametric, gamma_matrix
    alpha_startFLOAT0.00-8–8Spectral exponent at the start (high sigma). 0=white, +red/pink, -blue/violet.
    alpha_endFLOAT-1.00-8–8Spectral exponent at the end (low sigma). Interpolated over the trajectory.
    interpolationCOMBOlinear2 options: linear, exponential
    exp_sharpnessFLOAT4.00.1–16
    gamma_matrixCOMBOnone (parametric)gamma_matrix mode only. Drop .pt matrices into models/colored_noise_gamma.
    gamma_dividerFLOAT1.000.1–10
    gamma_shapingCOMBOnone3 options: none, sqrt, power
    power_gammaFLOAT1.000.1–8
    alpha_tiltingFLOAT0.00-8–8
    energy_scaleFLOAT1.000–4Scales noise std after unit-variance renorm. 1.0 = neutral; >1 injects more 'heat'.

    Outputs (1)

    NameTypeDescription
    SAMPLERSAMPLER