Nodes/DJZ-Nodes/Djz Databending V1
ComfyUI Node

Djz Databending V1

Real Databending

By MushroomFleet·Created 2 years ago·Updated 5 months ago· 80
Djz Databending V1
  • images
  • IMAGE
effect_type
echo_delay0.3
echo_decay0.1
distortion_intensity0.5
modulation_rate1.0
modulation_depth0.5

Djz Databending V1 is the most authentically "glitch" node in the pack, because it doesn't fake the glitch - it does the real thing. The technique is called databending: you take an image file, reinterpret its raw bytes as audio data, run audio DSP effects on it, and write the mangled bytes back into the file. The result is chaos that looks exactly like what it is, because it is a corrupted image. This node automates that whole process with seven audio effects you get to pick.

The effect menu is the giveaway that this is real audio processing, not a filter: echo, reverb, distortion, bitcrush, tremolo, phaser, chorus. These are guitar-pedal names, and that's exactly what they do to your image's byte stream. bitcrush, in particular, is the crowd-pleaser - it quantizes the data like a low-bit audio converter, producing that blocky, banded corruption look.

How it works

The pipeline is wonderfully literal. Each frame is saved as an uncompressed BMP (chosen because BMP has a clean header and the rest is raw pixel data). The pixel bytes after the 54-byte header are read as a raw audio sample stream and fed through the selected effect via scipy.signal convolution (echo = a simple delay filter, reverb = random exponential-decay impulse response, distortion = clipping, bitcrush = quantization, tremolo/phaser/chorus = modulation). The processed "audio" is then written back behind the original BMP header and decoded into an image. The BMP container survives; the pixel data has been through a distortion pedal.

Two of the effects reuse the same modulation_rate and modulation_depth inputs, and echo uses echo_delay/echo_decay, so not every parameter matters for every mode - the node is somewhat liberal about which knobs apply when.

The inputs that matter

  • effect_type - the seven-effect dropdown. Start with bitcrush or echo; reverb can turn images into near-total noise fast.
  • echo_delay / echo_decay - for echo/reverb.
  • distortion_intensity - for distortion (higher = harder clipping).
  • modulation_rate / modulation_depth - for tremolo/phaser/chorus.

Output is an IMAGE at the same resolution. The corruption runs vertically through the image (the byte order of BMP), which is part of the signature look.

Installing it

Djz Databending V1 ships in DJZ-Nodes:

cd ComfyUI/custom_nodes
git clone https://github.com/MushroomFleet/DJZ-Nodes
cd DJZ-Nodes
pip install -r requirements.txt

Restart ComfyUI or install via Manager ("DJZ-Nodes"). It needs scipy (in the requirements) plus OpenCV and Pillow. No models.

Common issues

The honest warning: this node produces genuinely random-looking output, and it's easy to overshoot into unrecognizable static. Dial echo_decay low and distortion_intensity under 0.6 to keep the subject visible. Also, the corruption is seedless - there's no seed input, so you can't reproduce a specific corruption pattern, only rerun until you like the result. And because BMP files balloon in size, don't feed it enormous batches; process a few frames to find a look, then commit.

Categoryimage/effects

Inputs (7)

NameTypeDefaultDescription
imagesIMAGE
effect_typeCOMBO7 options: echo, reverb, distortion, bitcrush, tremolo, phaser, +1
echo_delayFLOAT0.30.1–1
echo_decayFLOAT0.10–0.9
distortion_intensityFLOAT0.50.1–1
modulation_rateFLOAT1.00.1–10
modulation_depthFLOAT0.50.1–2

Outputs (1)

NameTypeDescription
IMAGEIMAGE