SonarAdvancedPowerLawNoise
Grey, violet, and the whole power-law noise family, with a sign-of-noise trick
- sonar_custom_noise_opt
- SONAR_CUSTOM_NOISE
Take the colored-noise idea and parameterize it by a single exponent and you get power-law noise: grey noise hovers around 1/f (that's your pink-adjacent mid-low frequency character), violet noise cranks the high frequencies, and everything in between is a dial turn away. SonarAdvancedPowerLawNoise is the lean version of that concept - fewer knobs than its 1/f sibling, and a couple of genuinely fun extras. Blepping credits WASasquatch's PowerNoiseSuite as the reference for these types, so the DNA is from one of the better-regarded noise packs around.
The inputs, in the order you'll actually touch them:
alpha- the frequency exponent, default 0.5. Positive values push energy into low frequencies (with colorful effects, per the tooltip), negative values push into high frequencies. This is the whole sound of the noise.factor/rescale- the standard pack-wide strength pair; non-zerorescalemakes this item plus its chained items scale to a fixed total.div_max_dims- an optional normalization that divides the noise by its maximum over the chosen dimension (none,non-batch,spatial,all,batch,channel,height,width). Handy for taming peaks after a high negative alpha.use_div_max_abs- whether that division uses absolute values (default) or raw values.use_sign- the fun one. When enabled, only the sign of the initial noise survives: -0.5 and -0.2 both become -1, 0.5 and 2 both become 1. You get pure +/-1 "binary" noise with the power-law spatial structure. It's an easy way to make something aggressively different with one checkbox.
Mechanically it's spectral shaping of white noise, same FFT family as the rest of the pack - generate, filter by alpha, hand back structured noise. Nothing exotic under the hood, which is exactly why it's a good place to start if you want colored noise without the 1/f node's extra axes and mystery k knob.
Output is SONAR_CUSTOM_NOISE, and the optional sonar_custom_noise_opt input lets you chain further items onto the wire. Plug the chain into a Sonar sampler, NoisyLatentLike, or SamplerConfigOverride - and remember the pack rule: a custom noise input, once connected, overrides the noise type selected in the node.
Install is the same everywhere in this pack - no models, just the repo:
cd ComfyUI/custom_nodes
git clone https://github.com/blepping/ComfyUI-sonar
Two practical notes. First, exotic noise only shows up on samplers that inject noise - pair it with Euler a, DPM++ SDE, or the sonar momentum samplers, not plain Euler. Second, the pack's errata applies with a vengeance here: the color names are best-effort, so tune by eye rather than expecting textbook grey or violet. Start with alpha around 0.5–1.0 for a subtle shift, flip use_sign on when you want to feel the power-law structure, and you'll know within a few generations whether this family is for you.
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. |
| alpha | FLOAT | 0.500-10000–10000 | Similar to the advanced power noise node, positive values increase low frequencies (with colorful effects), negative values increase high frequencies. |
| div_max_dims | COMBO | non-batch | If non-none, the noise gets divide by the maximum over this dimension. |
| use_div_max_abs | BOOLEAN | true | Only has an effect when div_max_dims is not none. Controls whether maximization is done with the absolute values or raw values. |
| use_sign | BOOLEAN | false | When set, only the sign of the initial noise is used, so -0.5, -0.2 all turn into -1, 0.5, 2, etc all turn into 1. |
| 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. |