MoshBox
MoshBox is a live datamosh instrument for one video source and one output, with a mosh grammar and an eight-bank frame tape with behaviour informed by Interstream v2.0 by Jonas Bers / Signal Culture.

A camera or a clip goes in, and a moshed picture comes out over HDMI. Between them, MoshBox encodes the picture, runs a small grammar of packet operations, and decodes the result. Withholding keyframes makes the decoder paint from a stale reference; replaying deltas makes the motion accumulate. The result is a continuous, playable smear rather than a one-shot glitch.
An effect, not a source
MoshBox is designed to sit mid-chain. It takes one camera or capture device and produces one moshed signal over HDMI. Put it after a camera or a playback device, before a mixer, capture card or another processor.
What it does
- One input, one output — camera or clip in, HDMI out.
- Mosh grammar — DropKey, RepeatDelta, Stutter, Bloom, Corrupt, order ops, Pulse and SourceSwitch.
- Continuous, rhythmic or motion-reactive — a steady pour, a beat-gated mosh, or a mosh driven by the source's motion.
- Frame tape — eight recallable loops of 1–120 frames, with wet/dry tracks, clean/mosh playback and forward, ping-pong or reverse looping.
- One continuous codec session — switching between camera and clip does not reset the encoder or decoder. The SOURCE SWITCH pot chooses a clean cut or a smear at the change.
- Presets — capture the ops, parameters, seed, tempo, encoder settings and tape transport; recall the whole performance.
- Live encoder — change codec, bitrate and GOP while the picture runs.
- MIDI control — default nanoKONTROL2 map; keyboard on desktop builds.
- HDMI output — 640×480 on the standard Raspberry Pi 3 build (4:3 SD) and 1280×720 on the Pi 4 build (16:9 HD Ready).
Signal flow
Camera or clip ──► encoder ──► mosh grammar ──► decoder ──► HDMI
The grammar is the core. The default program is SourceSwitch + DropKey + RepeatDelta: a continuous mosh that withholds keyframes and accumulates motion. Order modes, rhythm and motion modulation are layers on top; presets can carry other combinations of ops.
Frame tape
The grammar repeats motion; the frame tape repeats pictures. It stores decoded frames in eight banks, each with a loop of 1–120 frames (up to 4 seconds at 30 fps).
- Wet / dry — A/B the decoded show against the source before the mosh.
- Clean / mosh — replay the stored picture exactly, or feed it back through the current program so the memory is chewed again.
- Forward / ping-pong / reverse — choose the loop direction.
- Window — slide the loop inside the captured bank to choose which moment repeats.
Banks are captured from the live history. Press an empty bank to capture and loop, a filled bank to recall it, or the active bank to switch between the loop and live passthrough. Presets capture the tape's transport, never its frames.
Getting started
- Connect a USB UVC camera or capture device.
- Connect the HDMI output to your display, mixer or capture card.
- Connect a MIDI controller; the default map is for a Korg nanoKONTROL2.
- Power up. If no camera is attached, the clip fallback plays.
- Press MOSH to engage the default continuous mosh.
The MoshBox documentation covers the sources, the mosh grammar, the frame tape, the MIDI map, presets, order modes and troubleshooting.
Specifications
| Input | 1× USB UVC camera or capture device |
| Fallback source | Clip in the data folder |
| Output | HDMI: 640×480 4:3 SD on Pi 3; 1280×720 16:9 HD Ready on the Pi 4 build |
| Processing | Encoder → mosh grammar → decoder |
| Frame tape | 8 banks, 1–120 frames, wet/dry, clean/mosh, forward/ping-pong/reverse |
| Control | MIDI (nanoKONTROL2 default) |
| Presets | Ops, parameters, seed, tempo, encoder settings, tape transport |
| Platform | Raspberry Pi 3 / Pi 4 |
| Power | 5 V / 2.5 A for Pi 3, 5.1 V / 3.0 A for Pi 4 recommended |