Nodes/ComfyUI-sonar/SonarRandomNoise
ComfyUI Node

SonarRandomNoise

Roll the dice on your noise type every run

By blepping·Created 3 years ago·Updated 9 days ago· 49
SonarRandomNoise
  • sonar_custom_noise
  • SONAR_CUSTOM_NOISE
factor1.000
mix_count1
normalizedefault

Every noise type has a personality. Gaussian is safe and boring, Perlin is blobby, Pyramid is aggressive and colorful, and if you always use one, every generation at a given seed starts from the same flavor of chaos. SonarRandomNoise is the node that says "actually, let's not decide." Each time noise is generated it randomly selects between the other custom noise chains you connect to it, so different runs - even the same seed - start from a different noise character.

The trick to understanding this node is that it treats its sonar_custom_noise input as a list, not as a single chain item. That's a deliberate exception in this pack. Most noise nodes add one item onto the chain they receive; SonarRandomNoise (along with SonarRepeatedNoise) instead treats the connected chains as a pool to draw from. So you connect multiple noise chains into that one input - a SonarCustomNoise with Gaussian, one with Perlin, one with wavelet noise - and it picks among them.

What you set

  • sonar_custom_noise - the pool. Connect multiple chains here.
  • mix_count (default 1) - how many items get selected and combined each time noise is generated. Set it higher and the node rolls several options at once instead of one.
  • factor - overall strength of the resulting noise.
  • normalize - the standard default/forced/disabled strength-rebalance control.

Output is a SONAR_CUSTOM_NOISE, so it plugs into a Sonar sampler, a SamplerConfigOverride's custom noise slot, or NoisyLatentLike just like anything else in the chain.

Why you'd bother

Two honest use cases. First, variety without touching your seed: roll the noise type each run and you get a broad sweep of looks from one workflow, which is handy for seed farming or for exploration batches where you want chaos. Second, it's a component for bigger random compositions - combine it with SonarScheduledNoise so a different random noise type kicks in at the 35% mark, and each run becomes genuinely unpredictable.

The flip side is worth stating: if you need reproducibility, this node is the enemy. It's random by construction, and ComfyUI-sonar's own README warns that noise generation on GPU vs CPU is inconsistent anyway, which can shift seeds between machines. Use it when variety is the point, not when you're chasing a specific result.

Installing

Part of the ComfyUI-sonar pack. ComfyUI Manager → search "ComfyUI-sonar" → install, or:

cd ComfyUI/custom_nodes
git clone https://github.com/blepping/ComfyUI-sonar

Restart and it's under advanced/noise. Pure Python, no extra dependencies, no model files. And a tip from the author's own docs: the pack's noise types are "best-effort" - what it calls pink noise isn't necessarily textbook pink noise. That's fine here, since you're randomizing over them anyway.

Categoryadvanced/noise

Inputs (4)

NameTypeDefaultDescription
factorFLOAT1.000-10000–10000Scaling factor for the generated noise of this type.
sonar_custom_noiseSONAR_CUSTOM_NOISE,OCS_NOISECustom noise input for noise items to randomize. Note: Unlike most other custom noise nodes, this is treated like a list. The following input types are supported: SONAR_CUSTOM_NOISE, OCS_NOISE
mix_countINT11–100Number of items to select each time noise is generated.
normalizeCOMBOdefaultControls whether the generated noise is normalized to 1.0 strength.

Outputs (1)

NameTypeDescription
SONAR_CUSTOM_NOISESONAR_CUSTOM_NOISEA custom noise chain.