SonarAdvancedPyramidNoise
The multi-resolution detail trick hiding in plain sight
- sonar_custom_noise_opt
- SONAR_CUSTOM_NOISE
If you've ever seen a workflow boast about "highres pyramid noise" as the secret ingredient, this is the node behind it. Pyramid (multi-resolution) noise builds up a noise field one octave at a time - generate coarse noise, upsample it, add the next finer layer, repeat - so you get structure at every scale instead of flat white static. Blepping's implementation is based on Jonathan Whitaker's multi-resolution noise write-up, which is a well-known resource in the noise-nerd corner of the community.
That coarse-to-fine structure is exactly why pyramid noise became the high-resolution fix crowd's favorite. During a second-pass upsample, you want the sampler to fill in detail without re-rolling the whole composition; a noise that already has structure across scales gives it a better starting skeleton than gaussian static does. People reach for the highres_pyramid variant specifically for this. It's a "reasonably well-known good idea" node rather than a pure curiosity - the noise_type dropdowns elsewhere in the pack (like SamplerConfigOverride) even list highres_pyramid as a built-in option.
Inputs worth knowing:
variant-highres_pyramid(the one people actually use),pyramid, andpyramid_old. Different flavor, same family.iterations- number of octaves,-1for the variant default. More octaves = more fine detail = slower.discount- how much each successive octave's amplitude is scaled down,0for the variant default. This is the lever that controls how far the fine detail reaches.upscale_mode- how each octave is resized to the next level:bilinear,bicubic,nearest,area,bislerp,adaptive_avg_pool2d, ordefault. This changes the character of the detail noticeably.factor/rescale- the pack-wide strength controls.
Output is SONAR_CUSTOM_NOISE, chainable via sonar_custom_noise_opt, and consumed by any custom noise input. The standard one-liner installs it with no model files:
cd ComfyUI/custom_nodes
git clone https://github.com/blepping/ComfyUI-sonar
Two things to get right. First, as with all the noise-injection nodes, it shows up on samplers that actually add noise - ancestral, SDE, or the sonar momentum samplers. Second, if you're using it in the high-res-fix sense, it's the initial latent that matters: it works well as your second-pass starting noise at moderate-to-low denoise, where gaussian would otherwise fight the existing image structure. Start with highres_pyramid, leave iterations and discount on defaults, and only touch upscale_mode once you've seen the base effect. It's the one "advanced noise" node in this pack with a genuinely mainstream use, and it earns the hype it gets in those workflow descriptions.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| factor | FLOAT | 1.000-10000–10000 | Scaling factor for the generated noise of this type. |
| rescale | FLOAT | 0.0000–10000 | When non-zero, this custom noise item and other custom noise items items connected to it will have their factor scaled to add up to the specified rescale value. When set to 0, rescaling is disabled. |
| variant | COMBO | highres_pyramid | Sets the Pyramid noise variant to generate. |
| iterations | INT | -1-1–8 | When set to -1 will use the variant default. |
| discount | FLOAT | 0.000-10000–10000 | When set to 0 will use the variant default. |
| upscale_mode | COMBO | default | Allows setting the scaling mode for Pyramid noise. Leave on default to use the variant default. |
| sonar_custom_noise_optopt | SONAR_CUSTOM_NOISE,OCS_NOISE | Optional input for more custom noise items. The following input types are supported: SONAR_CUSTOM_NOISE, OCS_NOISE |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| SONAR_CUSTOM_NOISE | SONAR_CUSTOM_NOISE | A custom noise chain. |