scaler-glitch
scaler-glitch · runs in vfpga-runnerModel
An early-HD circuit-bent VFPGA that corrupts the upscaler / line-doubler / deinterlacer of a cheap SD→HD set-top box. The star is a BRAM line buffer — the authentic FPGA video staple: a scaler reads a window of prior scanlines out of an on-chip line buffer and resamples them to the output raster. Bending it = addressing those rows wrong: a deinterlace error gives comb/weave zipper edges on alternating lines (field mismatch), corrupt bilinear tap weights snap to nearest-neighbour blockiness, a wrong scale ratio stretches the picture, and a line-buffer overrun re-reads a stale row as a stuck-row horizontal smear. p1 sets the deinterlace error (weave↔bob zipper), p2 the scale ratio, p3 the tap-weight corruption, p4 the stuck-row density. CIN1 adds onto the scale ratio; GIN1 flips the field parity (a fresh field mismatch). Every "random" term is deterministic (row + seed hashed) so the bend is reproducible.
I/O
- Video in: 1 (vin1…vin1)
- Video out: 1 (vout1)
Controls (param knobs)
| Slot | Knob | Range | Default | What it does |
|---|---|---|---|---|
p1 | deint | 0 … 1 | 0.5 | Deinterlace error: 0 weave (zipper on motion) ↔ 1 bob (line-double a field). |
p2 | scale | 0.5 … 2 | 1.3 | Vertical scale-ratio error (wrong pixel/aspect-ratio stretch). |
p3 | tap | 0 … 1 | 0.6 | Bilinear tap-weight corruption: 0 correct ↔ 1 nearest/broken weights. |
p4 | stuck | 0 … 1 | 0.25 | Per-row line-buffer-overrun probability (a stuck-row horizontal smear). |
CV roles
| Input | Role | What it modulates |
|---|---|---|
cv1 | SCALE | Adds onto the scale ratio (patch an LFO to breathe the stretch). |
Each CV input has a bipolar SCALE attenuverter + OFFSET on the card, and an always-on scope.
Gate roles
| Input | Role | What it triggers |
|---|---|---|
g1 | FIELD | A TRIGGER: each rising edge flips the field parity → a fresh field mismatch. |
Gate inputs raw-pass into the host's synthetic gN_evt params; the factory hysteresis edge-detects rising edges (rise > 0.6 / fall < 0.4).
Usage
Add a vfpga-runner, pick scaler-glitch from the card's load preset… menu, and patch the
active outputs into OUTPUT / a video mixer / a downstream effect.