Djz Databending V1
Real Databending
- images
- IMAGE
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 withbitcrushorecho;reverbcan 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.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| effect_type | COMBO | 7 options: echo, reverb, distortion, bitcrush, tremolo, phaser, +1 | |
| echo_delay | FLOAT | 0.30.1–1 | — |
| echo_decay | FLOAT | 0.10–0.9 | — |
| distortion_intensity | FLOAT | 0.50.1–1 | — |
| modulation_rate | FLOAT | 1.00.1–10 | — |
| modulation_depth | FLOAT | 0.50.1–2 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |