
A real-time WebGL glitch + AI camera FX studio. True CPU Asendorf pixel sort, GPU datamosh, kaleidoscope chained through nine radial UV warps, 40+ generators, on-device MediaPipe Face FX, GEN+CAM live composite, native Save / Load Project, audio-reactive racks, MIDI / VJ control, projector mode.
Computational vision engine · pipeline: active · fx: multi-layer · audio: reactive
I built this because I wanted it.
This is evolving into a single instrument that can datamosh a live cam, run a real Asendorf row-sort, fold it through a kaleidoscope, datamosh that, and paint pixel cells over the top — while hooking up to a projector (projector mode), VJing (MIDI + audio-react), and spitting out a 9:16 GIF.
Glitch Pixel Studio sits in the middle — every effect is a knob you turn while pointing the lens at something. Stack them, automate them, audio-react them, save the patch.
— LOVEBEING
LIVE CAPTURE · NO POST
- NEW — brand-new app icon and logo across every Android launcher density, iOS AppIcon set, splash screens, PWA, and web favicon.
- NEW — native Save / Load Project. Full session snapshots written to
Documents/GlitchPixelStudio/projects/*.gpswith one-tap Share to Drive, Dropbox, Discord, Telegram, anywhere. - FIX — GEN+CAM rock-solid across all source switches. The CAM → GEN transition no longer collapses the live composite back to plain generator output.
- FX — Face FX on-device MediaPipe selfie segmentation: FACE mode keeps the person clean while the background glitches; BG mode wraps the person in glitch and leaves the world raw. 12-offset ring dilation + motion blur for clean edges at ~15 Hz.
- UX — Hard Reset Camera for instant recovery, pull-to-quick-reset gesture, expanded Vision Mode Lab, and remembered session state across launches.
ON-DEVICE · NO CLOUD · NO ACCOUNT · WORKS IN AIRPLANE MODE
Synth-style UI, built for one-thumb performance
Every rack collapses, every knob is gated, every session persists.



Twelve dedicated synth-style racks
Every knob is gated, every uniform is single-source, every session persists.
REAL ASENDORF PIXEL SORT
Not a UV displacement fake — a true CPU row-sort at 256×144 @ 20 Hz, sampled back into TEXTURE5 as uSortTex and gated by a single REALSORT master knob. Luma-keyed (Y << 24 | localIndex) so the streaks read as light/dark runs, not blue-channel noise. AMOUNT, LOW/HIGH, SEGMENT, NOISE, WOBBLE, TEAR, MODE (LINE / SPIRAL / BLOCK / SLICE / HILBERT), INTERVAL gate, ANGLE — all sculpted within the REALSORT envelope.
GPU DATAMOSH RACK
Twelve dedicated controls: I-FRAME freeze, MOTION bleed, COMPRES (DCT-style block crush), MAP (motion-vector reuse), BLOCK glitch, LIQUID feedback, CHRASH (MPEG smear), FEEDBACK loop, plus SOFT/HARD modes. Linear 0–2 INTENS so the top half of the slider keeps doing work — no dead zone.
KALEIDO + 9 RADIAL UV WARPS
KALEIDO chains into nine stacked radial warps — TILE, DROSTE, SPIRAL, YANTRA, MANDALA, ROSETTE, STARFOLD, HEXFOLD, INVERT-SYM. Each is an independent mask-gated UV transform you can stack like a modular synth patch. Combos that don't exist anywhere else.
40+ GENERATORS
Bayer dither, halftone, mosaic, voronoi, plasma, ASCII (ertdfgcvb glyph atlas), hex, weave, truchet, stripes, brick, diamond — plus L-systems, reaction-diffusion, boids, particle life, DLA, and a CPU sphere-traced SDF stack. Every generator pipes through the full FX rack.
CAMERA-NATIVE, RIG-FRIENDLY
Front or rear camera streams straight into the shader at full GPU speed via getUserMedia. Plays nicely with anamorphic adapters (Moondog, Sirui, Beastgrip), clip-on macro lenses, gimbal rigs, and external HDMI capture devices presenting as UVC. NATIVE / 9:16 / 1:1 / 16:9 export aspects so your anamorphic squeeze stays intact.
MIDI · AUDIO REACTIVE · VJ
Live mic FFT — bass / beat / level — modulates uSortAmt, uDatamosh, uRGBDrift, generator hue, and rack visibility. MIDI CC mappings for hands-on VJ control, livestream-friendly, single-pass uniform writes so latency stays under one frame.
PROJECTOR MODE
Dedicated full-screen output with chrome stripped and edge-fade for clean projection mapping. Drive it from the same browser that's running the rack, or fan it out to a second display.
GIF + VIDEO EXPORT
STD / HIGH / ULTRA quality presets, 24/30/60 fps, perfect-loop or full-length, 5/15/30/60 second windows. GIF path uses a quantized palette; video path uses MediaRecorder with optional microphone audio. Hold-the-canvas gesture also records.
PRESETS · QUICK-SLOTS · SESSIONS
Save the patch. Stack racks, automate them, audio-react them, hot-swap from quick-slots. Full session persistence across reloads. Bring up a saved live-set in seconds.
WEBGL1 SINGLE-PASS PIPELINE
One fragment shader, ~3000 lines of GLSL, ~80 uniforms. Hoisted scratch buffers (Uint32Array(SW=256)) keep GC quiet during sort runs. Auto-quality fallback maps to your device — runs smooth on a Pixel 4 and lights up an M-series rig like a Christmas tree.
How a frame travels through the studio
Five hops from sensor to export. The shader does the heavy lifting; the CPU sort runs as a sidecar so it never blocks the render loop.
getUserMedia → HTMLVideoElement → glTexImage2D upload at the device's native resolution. Front, rear, or any UVC capture device.
When a generator layer is armed, a procedural canvas composites with the camera feed before the shader pass — so the rack glitches the composite, not just the cam.
One fragment shader runs all enabled racks: pixel sort → datamosh → kaleido + radials → RGBNDR → color → output. ~80 uniforms updated per frame.
When REALSORT > 0, a 256×144 luma-keyed Asendorf row-sort runs at 20 Hz on the CPU and uploads its result to TEXTURE5. The shader blends it back via uSortMix.
MediaRecorder for video (with optional mic), framewise readPixels into a quantized palette for GIF. Output respects your chosen aspect — 9:16 stays 9:16.
Plays nicely with serious glass
Built like a modular synth
Every effect is its own panel. Every panel is independent, gated, and persists across sessions. Stack them, save patches as presets, assign them to quick-slots. Tap to capture, hold the canvas to record.
- PIXEL SORT — REALSORT master + 8 sculpt knobs
- DATAMOSH — 12 controls, SOFT/HARD modes
- KALEIDO + 9 RADIAL FX (TILE → HEXFOLD)
- RGBNDR — analog VGA channel-bender
- PIXEL DRAWER — paint living glitch cells
- ASENDORF / GYSIN — REACT-D, VOROSRT, GLYPH
- PIXEL GENERATOR — 40+ styles, 4 layers + master
- COLOR / TONE / MASK — luma key + tone curves
- AUDIO REACTIVITY — mic FFT, beat detection
- MIDI CONTROL — full CC mapping for VJ rigs
- PROJECTOR MODE — clean fullscreen output
- PRESETS + QUICK-SLOTS — save, recall, hot-swap

Influences
Kim Asendorf's ASDFPixelSort · satyarth/pixelsort · the Gysin / ertdfgcvb ASCII tradition · After Effects Pixel Sorter (Plugin Everything) · classic VGA channel-benders · hg_sdf for the SDF generators · the Akascape pixelsort interval experiments · every modular-synth designer who decided one knob should be the master.
Real frames. Real glitches.
Captured live on Android — no post, no filters, no fake demo reel. Just the studio doing what it does.






Open the studio.
Runs natively on Android. Uses your camera. Exports glitch art you actually own.
COMING SOON ON GOOGLE PLAY