SonarBlehOpsNoise
Hand-edit noise with ComfyUI-bleh's block-ops language
- sonar_custom_noise
- SONAR_CUSTOM_NOISE
SonarBlehOpsNoise is the node for people who look at the other sonar noise nodes and think "these aren't enough knobs." It takes a noise chain as input and runs it through ComfyUI-bleh's block-ops language - a text-based way to write arbitrary tensor operations on the noise - before handing it downstream. If you know the bleh ops syntax, you can add two noise fields, threshold them, multiply by a mask, whatever your imagination (and the language) supports. If you don't know the syntax, this node is a wall of text with a blinking cursor, and that's okay - it's not aimed at you yet.
The inputs are minimal because all the real work is in the rules field:
sonar_custom_noise- required. This is a custom-noise input, not the usual optional chaining socket; the node has nothing to transform without it.rules- a multiline string where you write the bleh block ops format. This is the actual feature. The ops syntax comes from blepping's other pack, ComfyUI-bleh, and it's the same one hisBlehBlockOpsnode uses elsewhere.factor- scaling on the result.normalize-default/forced/disabledstrength normalization for the output.
Output is SONAR_CUSTOM_NOISE, ready to plug into a Sonar sampler, NoisyLatentLike, or SamplerConfigOverride.
Here's the gotcha the tooltips hint at but you should hear out loud: the value of this node scales directly with whether ComfyUI-bleh is installed. The rules language and many of the ops live in bleh, so install both packs:
cd ComfyUI/custom_nodes
git clone https://github.com/blepping/ComfyUI-bleh
git clone https://github.com/blepping/ComfyUI-sonar
Restart ComfyUI. No model files either way.
If you're new, my honest advice is to skip this until you've gotten a feel for the pack's point-and-click noise nodes. SonarBlendedNoise and SonarBlendFilterNoise cover 90% of the practical cases with actual UI, and the remaining 10% is where you'd graduate to writing rules. When you do, start by reading the bleh docs for the ops syntax and try trivial rules on a copy of a workflow you like - a tiny transform like "multiply this channel" or "add a constant" - before attempting anything clever. A typo in a rules string fails silently or produces garbage noise, and because this is a blepping pack, that's normal and expected; the changelog and the repo issues are where the actual syntax help lives.
One more thing worth knowing regardless of skill level: because the noise is generated on GPU or CPU somewhat inconsistently across the pack, hand-written ops on top of that just compound the reproducibility situation. If a generation matters, note the git revision, same as with everything else in ComfyUI-sonar. For anyone comfortable with the bleh ops language, this is genuinely the most flexible node in the noise section - it's just not the friendliest door into it.
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 | Allows connecting a custom noise chain. The following input types are supported: SONAR_CUSTOM_NOISE, OCS_NOISE | |
| normalize | COMBO | default | Controls whether noise is normalized to 1.0 strength. |
| rules | STRING | Enter rules in the bleh block ops format here. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| SONAR_CUSTOM_NOISE | SONAR_CUSTOM_NOISE | A custom noise chain. |