Nodes/MD Nodes/MD: Sigma Smooth
ComfyUI Node

MD: Sigma Smooth

Smooth out a jagged noise schedule before it bites you

By MDMAchine·Created about a year ago·Updated 3 months ago· 15
MD: Sigma Smooth
  • sigmas
  • SIGMAS
smoothing_strength0.00
smoothing_type
preserve_endpointstrue
window_size3

Every scheduler hands your sampler a list of sigma values - the noise levels it steps through. Most are smooth curves, but some (custom schedules, concatenated ones, aggressive low-step presets) come out jagged, and jagged sigmas produce unpredictable denoising steps and artifacts. Sigma Smooth is a tiny utility that filters that list: it smooths the schedule and hands it back. One input, one output, and a couple of knobs. That's the whole node, and for a niche utility that's fine.

How it works

You feed it a SIGMAS schedule and it applies a smoothing filter, then returns a cleaned SIGMAS. Three algorithms:

  • gaussian - bell-curve weighted smoothing. The standard choice; it preserves the schedule's overall shape while rounding off spikes.
  • moving_average - simple mean over a window. Cruder, but predictable.
  • exponential - decay-weighted, which responds faster to recent changes.

window_size (default 3) is the kernel size - how many neighbors each point considers. Bigger window, smoother result, more shape loss.

Two controls shape the behavior:

  • smoothing_strength (0–1) - how much of the smoothed result to use. 0 is a pass-through, 1 is fully smoothed. Start low; a little smoothing goes a long way.
  • preserve_endpoints (default True) - locks the max/min noise values (the first and last sigmas) so the schedule's start and end stay put. This is the important one: the endpoints define how much noise you begin and end with, and blurring them changes the effective denoise. Keep it on unless you have a reason not to.

Where you'd reach for it

The realistic use cases are narrow but real: you built or concatenated a custom schedule and it has a visible staircase; you're using a scheduler whose output is noisy at low step counts; or you want to de-spike an aggressive schedule before it makes a turbo model hallucinate. Drop Sigma Smooth between the scheduler and your KSampler's sigmas input.

The honest caveat: it's a "fix the schedule you already have" tool, not a scheduler itself. If your schedule comes out smooth, this node is a no-op you don't need. And over-smoothing a schedule that was supposed to be aggressive (like a low-step cluster schedule) will defeat its purpose - the curvature is often the point.

Installing

It's part of 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 (search MD Nodes), then restart. Standard pack caveat: heavy requirements (audio stack, matplotlib, client SDKs) for what is effectively a torch filter.

Sigma Smooth is the rare node that's honestly described by its name. Feed it a jagged schedule, get a smoother one, keep the endpoints locked, and move on with your life. Nothing more to it.

CategoryMD_Nodes/Schedulers/Utilities

Inputs (5)

NameTypeDefaultDescription
sigmasSIGMASINPUT SIGMAS
smoothing_strengthFLOAT0.000–1STRENGTH • Amount of smoothing.
smoothing_typeCOMBOALGORITHM • Gaussian: Bell curve weighted. • MA: Simple average. • Exponential: Decay weighted.
preserve_endpointsoptBOOLEANtruePRESERVE START/END • Keep max/min noise values locked.
window_sizeoptINT3WINDOW SIZE • Kernel size for smoothing.

Outputs (1)

NameTypeDescription
SIGMASSIGMAS