Affine Black Noise Options
The sparse-spectrum mask
- noise_options
The spectral noise family in WAS Affine is a staircase: white has all frequencies, pink rolls off gently, brown rolls off harder, blue and violet emphasize the highs, green keeps only the mid band. Black noise is the strange one - instead of a smooth spectrum, it keeps only a sparse set of narrow frequency bands. The result is a mask that's mostly quiet with scattered, banded structure: less "texture everywhere," more "texture that comes and goes." Affine Black Noise Options controls it with a single knob and emits a noise_options DICT.
The knob
- black_bins_per_kpx (default 768) - histogram bins per kilo-pixel used to construct the noise. The tooltip's way to think about it: higher = smoother spectrum. Lower values concentrate the energy into fewer, more distinct bands, which makes the sparse character more obvious.
How it fits
Wire noise_options into Latent Affine, an affine sampler, or Affine Pattern Noise. Black noise isn't a beginner's first pick - it's for when you want the affine to touch parts of the frame in an irregular, patchy way without the uniform coverage that white or green gives you. The sparse bands mean the enhancement lands in unsteady pools, which can read as "interest here, rest there" in a way that's hard to get from the smooth noises. If that sounds like your look, the default is a fine starting point.
Installing
Part of WAS Affine by WASasquatch. ComfyUI Manager → Install Custom Nodes → search "WAS Affine" → install → restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/WASasquatch/was_affine
Restart ComfyUI. ComfyUI 1.0.0+, torch and numpy.
Common issues
Because the spectrum is sparse, the mask can look wildly different from one seed to the next - don't chase a "good" black-noise look by hammering the same knob; change the affine seed to see the range it can produce. Dropping black_bins_per_kpx too low makes the bands so sparse the mask turns into almost-nothing with a few hot spots, which reads as random patches rather than texture. If that's not what you want, nudge the value back up. And, as always, the DICT is inert until it's wired to an affine node.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| black_bins_per_kpx | INT | 7681–500000 | Histogram bins per kilo-pixel for black noise construction (higher = smoother spectrum). |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| noise_options | DICT | — |