π΅ Noise Generator
Seven Kinds of Noise in One Node β the Front Door to This Whole Pack
- audio
Every harsh-noise wall, drone, or ambient texture in this pack starts somewhere, and usually it starts here. NoiseGenerator is the pack's workhorse: one node, seven scientifically-grounded noise flavors, and a single AUDIO output you can route into every processor NoiseGen has. It's the closest thing the pack has to a "blank canvas."
What you're choosing between
The noise_type dropdown is the whole game, and the tooltip says it better than I could: white is flat, pink is 1/f, brown is 1/fΒ², blue rises +3 dB/octave, violet +6 dB/octave, perlin is organic, and bandlimited is filtered. In practice:
- White - the harsh, hissy one. The classic start of a Merzbow-style wall.
- Pink - the warm one. Less ear-stabbing, better for drones and beds.
- Brown - deep rumble. Sub-bass territory.
- Blue/violet - the bright, nasty ones. Great for metallic textures.
- Perlin - slow, organic swells rather than constant hiss.
- Bandlimited - white noise squeezed into a frequency band you choose.
How it works
Under the hood it's numpy and scipy doing the heavy lifting - pure random numbers for white, then filters (or summed octaves for perlin) to sculpt the color. One honest caveat: the "perlin" here isn't the classic gradient Perlin you know from texture generation. It's layered sine octaves with randomized phases - a fractal-noise approximation that sounds organic, but don't expect textbook Perlin math. It works; it just isn't what the name might lead you to believe.
The inputs you'll actually set
duration- seconds, 0.1 to 300. Keep it short while you're designing, then bump it up when you commit.noise_type,seed- the two that shape the sound. Seed is the trap: it defaults to 0, and the node is built to re-run every queue, so with seed 0 you'll get the same noise every time. Change the seed to get variation.amplitude- defaults to 0.8 but goes up to 2.0. Go past 1.0 and you're asking for clipping, which is sometimes exactly what you want and sometimes a nasty surprise. Start at 1.0 max.channels,stereo_mode,stereo_width- stereo withindependentmode gives two unrelated channels;correlatedkeeps them locked together. The default here is mono, so if you want width, flip it.
The optional inputs (frequency, octaves, low_freq, high_freq) only matter for perlin and bandlimited types - ignore them for the colored ones.
Wire it up
The README's own starter recipe is a good one:
NoiseGenerator (white) β FeedbackProcessor (complex) β HarshFilter (comb) β MultiDistortion (destruction) β AudioSave
There's a shipped example workflow literally named 02_merzbow_harsh_noise_wall.json built on this exact chain.
Install
The whole pack is one clone and one pip install:
cd ComfyUI/custom_nodes
git clone https://github.com/eg0pr0xy/comfyui_noisegen.git
cd comfyui_noisegen
pip install -r requirements.txt
Windows embedded-Python users: ComfyUI\python_embeded\python.exe -m pip install -r requirements.txt. ComfyUI Manager finds it if you search "NoiseGen" or eg0pr0xy. No models, no keys, no downloads.
Gotchas
The requirements step is mandatory - scipy is imported at module load, so skipping the install breaks the entire pack, not just this node. Also: outputs land at the sample rate you pick (default 44100), so if you're feeding something that expects 48000, keep that in mind down the chain. Beyond that, this is the least fiddly node in the pack - set a seed, pick a color, and let the processors do the rest.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| noise_type | COMBO | white | Type of noise: white=flat, pink=1/f, brown=1/fΒ², blue=+3dB/oct, violet=+6dB/oct, perlin=organic, bandlimited=filtered |
| duration | FLOAT | 5.00.1β300 | β |
| sample_rate | COMBO | 44100 | 6 options: 8000, 16000, 22050, 44100, 48000, 96000 |
| amplitude | FLOAT | 0.800β2 | β |
| seed | INT | 00β2147483647 | β |
| channels | COMBO | 1 | 2 options: 1, 2 |
| stereo_mode | COMBO | independent | 3 options: independent, correlated, decorrelated |
| stereo_width | FLOAT | 1.00β2 | β |
| frequencyopt | FLOAT | 1.00.1β100 | β |
| low_freqopt | FLOAT | 1001β20000 | β |
| high_freqopt | FLOAT | 80001β20000 | β |
| octavesopt | INT | 41β8 | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | β |