SonarRandomNoise
Roll the dice on your noise type every run
- sonar_custom_noise
- SONAR_CUSTOM_NOISE
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.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| factor | FLOAT | 1.000-10000–10000 | Scaling factor for the generated noise of this type. |
| sonar_custom_noise | SONAR_CUSTOM_NOISE,OCS_NOISE | Custom 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_count | INT | 11–100 | Number of items to select each time noise is generated. |
| normalize | COMBO | default | Controls whether the generated noise is normalized to 1.0 strength. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| SONAR_CUSTOM_NOISE | SONAR_CUSTOM_NOISE | A custom noise chain. |