Nodes/ComfyUI-sonar/SonarScheduledNoise
ComfyUI Node

SonarScheduledNoise

Switch noise mid-sampling, by percentage not steps

By blepping·Created 3 years ago·Updated 13 days ago· 49
SonarScheduledNoise
  • model
  • sonar_custom_noise
  • fallback_sonar_custom_noise
  • SONAR_CUSTOM_NOISE
factor1.000
start_percent0.000
end_percent1.000
normalizedefault

The pack's own example images tell you the pattern: generate with boring Gaussian noise for the first chunk of sampling, then switch to an aggressive noise type - Pyramid, green test, wavelet noise - partway through. That's what SonarScheduledNoise does. It plays one custom noise during a window of sampling and falls back to another noise (or nothing) outside it. It's the node that makes every "too extreme to use from step zero" noise type in this pack actually usable.

The scheduling is by sampling percentage, not steps - a model input is required precisely so the node can translate "35% through sampling" into actual sigma values, regardless of how many steps you're running. That's a nice touch: change step count and the noise switch stays put in percentage terms. start_percent (default 0) and end_percent (default 1) define the window, and the end is inclusive - "only sampling percentages greater than this will be excluded."

The gotcha that bites everyone

The optional fallback_sonar_custom_noise input is where people get burned. If you leave it unconnected, no noise is generated outside the start/end range - the tooltip spells it out: "When not connected, defaults to NO NOISE which is probably not what you want." Outside your scheduled window, the sampler effectively gets silence. The author's own recommendation is to connect a 1.0-strength Gaussian custom noise as the fallback, so you get normal noise everywhere except your scheduled window. If your image suddenly looks like a partial generation or has weird dead zones, this is the first thing to check.

Other inputs: sonar_custom_noise - the noise used inside the window (note this node consumes the noise list rather than adding to it, like SonarModulatedNoise and SonarCompositeNoise); factor; normalize (default/forced/disabled). Output is a SONAR_CUSTOM_NOISE feeding a Sonar sampler, SamplerConfigOverride, or NoisyLatentLike.

A sane starting recipe

Connect Gaussian as the fallback, set start_percent to 0.35, keep end_percent at 1.0, and wire your experimental noise type into the scheduled slot. That gives the early steps - where composition and structure are locked in - safe, normal noise, and only lets the wild stuff in after the image is already committed to its form. It's the single most useful discipline this pack teaches: extreme noise is fine as long as you don't feed it the whole generation.

Installing

Ships with ComfyUI-sonar. Install via ComfyUI Manager (search "ComfyUI-sonar") or git clone https://github.com/blepping/ComfyUI-sonar into custom_nodes/, then restart. No extra Python dependencies. One pack-level reminder: the author warns inputs change between versions, so if a saved workflow misbehaves after an update, suspect the pack first.

Categoryadvanced/noise

Inputs (7)

NameTypeDefaultDescription
factorFLOAT1.000-10000–10000Scaling factor for the generated noise of this type.
modelMODELThe model input is required to calculate sampling percentages.
sonar_custom_noiseSONAR_CUSTOM_NOISE,OCS_NOISECustom noise to use when start_percent and end_percent matches. The following input types are supported: SONAR_CUSTOM_NOISE, OCS_NOISE
start_percentFLOAT0.0000–1Time the custom noise becomes active. Note: Sampling percentage where 1.0 indicates 100%, not based on steps.
end_percentFLOAT1.0000–1Time the custom noise effect ends - inclusive, so only sampling percentages greater than this will be excluded. Note: Sampling percentage where 1.0 indicates 100%, not based on steps.
normalizeCOMBOdefaultControls whether the generated noise is normalized to 1.0 strength.
fallback_sonar_custom_noiseoptSONAR_CUSTOM_NOISE,OCS_NOISEOptional input for noise to use when outside of the start_percent, end_percent range. NOTE: When not connected, defaults to NO NOISE which is probably not what you want. The following input types are supported: SONAR_CUSTOM_NOISE, OCS_NOISE

Outputs (1)

NameTypeDescription
SONAR_CUSTOM_NOISESONAR_CUSTOM_NOISEA custom noise chain.