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.

The MoshBox boot screen, showing a glitched classical bust and the Mosh Box logo.

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

  1. Connect a USB UVC camera or capture device.
  2. Connect the HDMI output to your display, mixer or capture card.
  3. Connect a MIDI controller; the default map is for a Korg nanoKONTROL2.
  4. Power up. If no camera is attached, the clip fallback plays.
  5. 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