LeTissierCreative Studios
Cue 08The manualDatamosh 1.0

Docs / Datamosh

Version1.0 · latest

Datamosh 1.0

Datamosh parameters

Every control on the Datamosh effect, section by section as Resolume shows them, with its range, default, what it does and a clip of it moving.

Datamosh's panel is split into collapsible sections, in this order: Mosh, Motion, Damage, Sync, Output, Mask, Spread, View, Help and Licence. Mosh Transplant has every one of these too, plus two controls of its own at the top (see Mosh Transplant).

Every clip on this page is the plugin's real output, rendered from the released 1.0.0 build: the input on the left, Datamosh's output on the right, and the control being changed named over the output.

Mosh

When pixels stop refreshing from the input. Everything in this section is about when the mosh happens and how strongly.

Style

Options: Custom, Melt, Bloom, Drag, Liquid, Corrupt, Default. Default: Custom.

Sets a whole look in one move by writing thirteen motion and damage controls: Motion Gain, Motion Smoothing, Motion Threshold, Block Size, Softness, Pixel Snap, Motion Lag, Block Repeat, Quantise, Corruption, Chroma Drift, Decay and Spread.

A style never touches Mosh Amount, Trigger, Hold, the audio controls, the mask or anything else you play, so those keep working on top of any look.

Change any of the thirteen by hand and the dropdown switches to Custom, so it never claims a look the settings no longer match. Choosing Custom yourself restores nothing: it is a label, not a preset. To get the factory settings back, choose Default.

The looks and their exact settings are in Look recipes.

Style stepped through Custom, Melt, Bloom, Drag, Liquid, Corrupt and Default at Mosh Amount 0.7, with Reset pressed at each change so every look starts clean.

Mosh Amount

Range: 0 to 1. Default: 0.3.

The main control. It sets how long a pixel that stops refreshing is held before the live picture replaces it.

  • 0: every pixel refreshes every frame. The output is an exact copy of the input.
  • 0.3 (the default): about a fifth of a second, a gentle smear.
  • 0.5: about half a second.
  • 0.75: about a second and a third.
  • 1: nothing refreshes. The picture is carried by motion alone until something resets it.

The travel is on a log scale, the way a delay or reverb time knob is, and the same setting holds for the same time at 30 or 60 fps.

Mosh Amount raised from 0, an exact copy of the input, to 1, where nothing refreshes and the picture is carried by motion alone.

Trigger

Type: button.

Starts a burst: full mosh for one Burst Length, then a quarter-second ease back to whatever Mosh Amount says. Even a burst shorter than a frame gives at least one frame of mosh. Safe to map to a MIDI pad or key.

On smooth movement that Datamosh tracks accurately, a burst at the default settings can look subtle, because full mosh on perfectly followed motion rebuilds the picture almost exactly. The Damage section is what makes it read: the clips in this section use Motion Gain 1.8 and Motion Lag 5.

Trigger pressed three times at Mosh Amount 0 (Motion Gain 1.8, Motion Lag 5): each press moshes for one Burst Length (1 s) and then eases back to clean.

Hold

Type: on/off. Default: off.

Full mosh for exactly as long as Hold is on, ignoring Burst Length. Play it like a key: map it to a keyboard key or MIDI note and tick Piano in the shortcut, which makes it momentary. On the panel it is a checkbox that latches, because a mouse cannot hold a checkbox down.

Holding also cancels any automatic burst running underneath, so releasing it always visibly lets go.

Hold on for 2.5 s, then for 1.2 s (Motion Gain 1.8, Motion Lag 5): the mosh lasts exactly as long as Hold is on, whatever Burst Length says.

Reset

Type: button.

Snaps straight back to the clean input and clears any running burst and any built-up damage, like a keyframe arriving. It also ends a Hold that is still reading on, so if a key-up ever gets lost (you switched apps mid-hold, a note-off was dropped), Reset is the way out. The next press of Hold works normally.

At Mosh Amount 1 the damage piles up; each press of Reset snaps the picture back to the clean input, and the mosh builds again from there.

Auto Mode

Options: Manual, On Cut (Comp), On Beat. Default: Manual.

Fires bursts for you.

  • Manual: only Mosh Amount, Trigger, Hold and audio open the gate.
  • On Cut (Comp): watches the picture and fires a burst whenever the shot changes. Put Datamosh on the composition for this: there it sees every clip change on every layer, which is the classic datamosh transition with nothing to press. On a layer, it only sees that layer's own clip changes.
  • On Beat: fires on Resolume's tempo, once every Beat Divisor.

Choosing a mode shows the control that goes with it and hides the other: Cut Sensitivity appears in On Cut, Beat Divisor in On Beat.

Auto Mode On Cut: each hard cut in the input on the left melts through on the right, then the picture comes back clean when the burst ends.

Cut Sensitivity

Range: 0 to 1. Default: 0.5. Shown: only when Auto Mode is On Cut (Comp).

How readily On Cut fires. The detector compares each frame's change with a running average of how much the picture normally changes, so it copes with both a still ambient clip and a strobing one. Raise it if cuts are being missed; lower it if fast camera movement sets it off.

Burst Length

Range: 0.05 to 8 seconds. Default: 1.

How long a burst from Trigger, On Cut or On Beat holds full mosh before it eases back over a quarter of a second. About 0.5 s reads as a stutter, 2 s as a full dissolve. Hold ignores it.

The same Trigger press with Burst Length 0.2 s, 1 s and 3 s.

Beat Divisor

Options: 1 Beat, 2 Beats, 1 Bar, 2 Bars, 4 Bars. Default: 1 Bar. Shown: only when Auto Mode is On Beat.

How often On Beat fires, counted on Resolume's clock (four beats to the bar). Resolume's tempo has to be running.

Auto Mode On Beat at 120 BPM with a 0.35 s Burst Length: one burst a bar for five seconds, then Beat Divisor 1 Beat fires on every beat.

Motion

What the estimated motion does before it is used to move pixels.

Motion Gain

Range: 0 to 4. Default: 1.

Multiplies the motion. At 1 held pixels follow the real movement. Above 1 they overshoot it and smear harder. At 0 they do not move at all, so held areas freeze in place.

Motion Gain from 0, where held pixels stay put, to 4, where they overshoot the real movement and smear hard.

Motion Smoothing

Range: 0 to 1. Default: 0.3.

How slowly the motion is allowed to change. Higher values lengthen trails and stop the smear flickering when the motion is uncertain. At 1 the motion stops updating altogether and the same movement keeps being applied every frame, whatever the footage does. That is the bloom.

Motion Smoothing at 0, 0.7 and 1. At 1 the motion stops updating and the same movement keeps being applied: the bloom.

Motion Threshold

Range: 0 to 1. Default: 0.15.

How fast an area has to be moving before it is allowed to mosh. At 0 everything that moves at all moshes. Raised, slow areas keep refreshing and stay sharp while fast ones smear: the pixel drag look. The travel is squared, so 0.5 means about 2 pixels of movement per frame, and 1 means 8 (6 at Quality Low, which cannot follow movement that fast).

Motion Gain does not change what counts as moving, so you can smear harder without letting more of the picture in.

Motion Threshold raised on a clip with a fast disc and a slow one: first the slow disc stops smearing, then the fast one, and the output returns to the input.

Block Size

Options: 4 px, 8 px, 16 px, 32 px. Default: 16 px.

The grid the motion is measured and applied on, like a codec's macroblocks. 16 px looks the most like real compressed video. 32 px is chunkier and lighter on the GPU; 4 px is closest to smooth per-pixel flow and costs the most. It also sets the coarsest step Quantise can snap to.

Block Size 4, 8, 16 and 32 px, with Motion Lag 4 and Quantise 0.5 so the blocks show: the tearing gets coarser at each step.

Softness

Range: 0 to 1. Default: 0.

The dial between hard-edged blocky tearing (0) and smooth liquid flow (1). It blends the motion between neighbouring blocks instead of moving each block as one piece.

Softness from 0, hard-edged macroblock tearing, to 1, smooth liquid flow.

Pixel Snap

Range: 0 to 1. Default: 1.

Rounds each movement to whole pixels, which keeps held pixels crisp. Leave it at 1 unless you want softness: below 1, held areas are resampled a little every frame and blur away within a couple of seconds. The Liquid style sets it to 0 for exactly that.

Pixel Snap at 1 keeps held pixels crisp; at 0 each frame is resampled into the next and the picture softens to a blur.

Invert Motion

Type: on/off. Default: off.

Pushes held pixels the opposite way to the movement in the shot, so smears run backwards. A cheap way to make correct motion look wrong.

Invert Motion flips which way held pixels are pushed, so the discs smear against their own movement.

Damage

Datamosh's motion estimate is accurate, and on its own that looks too clean: more like a smooth morph than a broken file. Real datamosh looks broken because the motion is wrong. Everything in this section makes it wrong on purpose. Motion Lag is the one to try first.

The same footage and Mosh Amount with the Damage controls at zero on the left, and with Motion Lag 6 and Spread 0.7 on the right, where old motion smears the wrong content and the damage creeps into tiles that never moved.

Motion Lag

Range: 0 to 15 frames, whole numbers. Default: 2.

Applies the motion from this many frames ago instead of the current motion, so movement lands on content it does not belong to, the way a decoder working from the wrong reference frame does. Even 2 to 4 frames changes the character completely.

Motion Lag 0, 4 and 12 frames. At 0 the mosh is an almost clean morph; with lag the motion lands on the wrong content and it starts to look broken.

Block Repeat

Range: 0 to 1. Default: 0.

The chance of each block showing its neighbour's content instead of its own: the look of a block whose data never arrived. Which blocks are hit changes on every eighth note while Resolume's clock runs (every six frames otherwise), so the damage sticks for a moment instead of fizzing.

Block Repeat from 0 to 1: more and more blocks take their neighbour's content instead of their own.

Quantise

Range: 0 to 1. Default: 0.

Snaps the movement to a coarse grid, the way a low-bitrate encoder has to, giving stepped, chunky motion. At 1 the step is half a block (8 px at the default Block Size). Anything moving slower than half a step does not move at all and just holds: a skipped block, in codec terms. It does not change what Motion Threshold counts as moving.

Quantise from 0 to 1: the movement snaps to a coarser and coarser grid, until slow blocks stop moving and just hold.

Corruption

Range: 0 to 1. Default: 0.

The chance of each block's motion being turned to a random direction and rescaled: plausible amounts of movement, wrong directions. It reads as damaged data rather than noise. Like Block Repeat, the choice of blocks changes in musical steps.

Corruption from 0 to 1: more blocks get their motion turned and rescaled at random.

Chroma Drift

Range: 0 to 1. Default: 0.

Moves the red and blue channels by different amounts along the motion, the colour fringing you get when a block's colour planes disagree. Green stays put, so the picture stays readable.

Chroma Drift from 0 to 1: red and blue slide apart along the motion, green stays put.

Decay

Range: 0 to 1. Default: 0.

Bleeds the live picture back in even at full mosh, as a half-life. 0 holds forever; 0.25 is about 2 seconds; 0.5 about two thirds of a second; 1 a twentieth of a second. It behaves the same at any frame rate.

Useful as a safety net, so a mosh held at full can never stay collapsed forever. It also means Mosh Amount 1 no longer quite means "never refresh".

At Mosh Amount 1, Decay 0, 0.5 and 1: the live picture bleeds back in faster at each step.

Sync

Audio

Type: audio input (the sound Resolume analyses). Nothing to set.

The sound spectrum Resolume's audio analysis feeds the plugin. Audio Amount and Audio Band read from it; there is nothing to set here.

Audio Amount

Range: 0 to 1. Default: 0.

How much the audio level adds to Mosh Amount. It adds on top rather than replacing it, so a kick pushes an already moshing picture further, and Mosh Amount, Hold and Trigger all keep working while the audio pumps underneath. The headroom is whatever is left above Mosh Amount: at Mosh Amount 1 there is none.

Style Melt with Audio Amount 1. The yellow bar is the bass level fed to the plugin: each hit pushes the mosh up and the picture melts, then recovers between hits.

More in Audio reactivity.

Audio Band

Options: Full Range, Bass. Default: Bass.

Which part of the sound drives it. Bass follows the kick. Full Range uses the whole spectrum, which reads quieter for the same music.

Output

Mix

Range: 0 to 1. Default: 1.

Wet/dry: crossfades the moshed result over the untouched input. Different from Mosh Amount: pulling Mix down gives a ghosted double image of the mosh over the clean picture, while pulling Mosh Amount down gives a cleaner mosh.

Mix from 1 to 0 at a fixed Mosh Amount: the moshed result fades out over the untouched input.

Quality

Options: Low, Medium, High, Ultra. Default: High.

How hard Datamosh works to measure motion: how far it can follow fast movement and how precisely. Ultra adds an extra refinement step. This is the first thing to lower if a show needs GPU headroom. Lower settings do not break the effect; they measure more roughly, which on a datamosh is often no bad thing. The difference in the picture is small, which is why there is no clip here: judge it on your own footage.

Mask

Where the mosh is allowed to stick, painted by brightness. The brightness comes from the input that supplies the motion: the clip's own on the Datamosh effect, the motion layer on Mosh Transplant. An area only moshes if it is both moving and let through by the mask.

Mask Amount

Range: 0 to 1. Default: 0.

How strongly the mask applies. At 0 it is off. Raised, bright areas can hold pixels and dark areas keep refreshing, with everything in between held partly: it is a gradient, not a hard key, so soft edges stay soft.

The mask is steep. Only genuinely bright areas (near white) hold for long; mid-tones, including most saturated colours, are cut back hard even at a low Mask Amount. It works best with a high-contrast motion source: white text, a logo, a black-and-white generator. If the motion input has transparency, transparent areas count as dark, so a logo on a transparent background masks by its shape.

On footage split into a dark left half and a pale right half, Mask Amount from 0 to 1 stops the mosh on the dark side and leaves it on the bright side.

Mask Invert

Type: on/off. Default: off.

Moshes the dark areas instead of the bright ones.

Mask Amount 1 on the same split footage, with Mask Invert off and then on: the mosh moves from the pale half to the dark half.

Spread section

Spread has a section of its own at the bottom of the panel. It belongs with the Damage controls, but it was added in a later version, and Resolume restores saved compositions by position, so new controls always go at the end.

Spread

Range: 0 to 1. Default: 0.

Lets the damage creep outward into areas that are not moving at all. Everything else decides each block from this frame alone, so a still block could never mosh; with Spread up, the damage starts where the motion is strongest and crawls outward. Bring Mosh Amount down and the edge retreats the way it came instead of snapping off. Higher values creep faster and further, at the same speed whatever the resolution or frame rate.

Spread at 0.75 lets the damage creep out from the moving discs into tiles that never moved, and back at 0 it retreats.

View section

View

Options: Result, Motion, Gate. Default: Result.

Shows what Datamosh is thinking instead of what it is doing. Use it when a setting seems to do nothing.

  • Result: the effect. Leave it here for a show.
  • Motion: the motion it measured. Colour is direction, brightness is speed, on the same scale as Motion Threshold, so an area's brightness is roughly the threshold setting that would shut it out. Black means no movement was found, and nothing else you change will matter.
  • Gate: where the mosh is allowed. Green where it is open, red where Motion Threshold refused it (brighter the closer it came), cyan where Spread has reached, washed toward grey where the mask is closing it, black where there is no motion. Overall brightness is how long a pixel is held.

Both diagnostic views redraw exactly what the last frame used, so they cannot disagree with the result.

View Result, then Motion (colour is direction, brightness is speed), then Gate (green where the mosh is allowed, red where Motion Threshold refused it).

Help

Send Feedback

Type: button.

Opens the feedback page on letissier.ie in your browser, with the product and version filled in. It ignores presses in the first three seconds after the effect is added, so loading a composition never opens a browser over your show. Typing feedback into the Licence field does the same.

Licence section

Licence

Type: text field. Always the last control.

Where you start the trial, enter your licence key and answer the crash-report question. Type into it and press Enter: it empties, and its name shows the result, for example Licence: active or Licence: locked, unlicensed. It never keeps what you typed, so a key or email address is never saved into a composition.

Everything you can type, and what each status means, is on the Licence field page.