AVCLVB

Project
Welcome

AVCLVB Quick Start

Overview

AVCLVB is a layered visual system with a modulation matrix for routing control sources to parameters.

Capabilities

  • Layer sources: GIF, webcam, capture, ISF.
  • Modulation sources: Envelope, LFO, MIDI, gamepad, MIDI file.
  • Routing: Modulation matrix with offsets and curves.
  • Motion: Retarget motion vectors across layers.
  • Custom codec: Datamoshing for GIFs with controllable artifacts.
  • Performance: Macros drive matrix columns (S0 or S1–S5); one knob controls many parameters.

Getting Started

  1. Load a visual: In Layer Sources, load a GIF or image into Layer 1 and set it active.
  2. Add audio (optional): Upload audio or add a mic/capture source for audio‑reactive modulation.
  3. Select a source: Set Slot 1 to Envelope (audio‑reactive) or LFO (time‑based).
  4. Route it: In the Modulation Matrix, map Slot 1 to a target parameter.
  5. Set Offset: Add a baseline value in the matrix if the target needs a floor.
  6. Refine: Adjust layer settings, warp, and curve shaping.

Example Workflows

  • Audio‑reactive: Envelope → Brightness/Distortion, LFO → drift.
  • Tempo‑locked: Set BPM, sync LFOs, modulate warp strength.
  • Layer collage: Retarget motion from a high‑contrast layer to a softer layer.
  • Performance: Map MIDI/Gamepad to key parameters and save presets.

Notes

Offsets are static values, not sources. Use them to set a minimum output level.

Macros

One knob → many parameters. Map to matrix columns (S0–S5) below.

Timeline Scheduler

Song mode is disabled. Switch to Song to enable scheduling and automation.
-- --
-- - --
sec
/
-- BPM
ms
1.00x
00:00 / 00:00

Modulation Sources

Slots 1–5
BPM --
S1: --
S2: --
S3: --
S4: --
S5: --
Modulation Sources Guide
Overview
Slots 1–5 are modulation sources. Each slot can drive any parameter via the Modulation Matrix.
Slot Visualizers
The small scopes show the live output of each slot. Labels show the current source type.
Slot Panels
Pick a source type, adjust its controls, and toggle the slot on/off.
Destinations
Use the Dest button in a slot header to see what it currently affects.
VCA Source
Lets one slot scale another, useful for gating or sidechain-style control.
Offset
Offset isn’t a source. It’s a baseline value in the Modulation Matrix that gets added to the destination before sources are applied.
Tempo
Set a manual BPM or tap tempo to sync LFOs and timing-sensitive motion.
Audio-Reactive Accents
Use an Envelope follower to push brightness or distortion on hits.
Tempo Movement
Use an LFO synced to BPM for pulsing or breathing effects.
Performance Control
Use MIDI or Gamepad slots for hands-on control during a set.
Tempo
Effective Loop: -- BPM | --ms/loop

Audio Controls

If multiple files are selected, the first becomes Main Audio and the rest become analysis sources. Uncheck to keep the current main audio.
00:00 / 00:00

Audio Source Management

Use Upload Audio Files above to add file-based sources.
Available Sources:

Layer Sources

Image sources, motion vectors, and post FX
Layer Source Type Status Motion Source Tab Settings
Tip: active layer drives playback. Defaults map 1–8 + QWER/ASDF/ZXCV for tabs.
Layer Sources Guide
Overview
Layers are independent visual sources. The active layer drives playback and output.
Source Type
Choose GIF, webcam, capture, or ISF for each layer.
Motion Source
Pick which layer provides motion vectors for warping.
Tab
Each layer can map to a modulation tab so your settings follow the layer.
Settings
Open per-layer settings to adjust resize, motion, and playback behavior.
Layer Count
Increase or reduce the number of layers and click Apply.
A/B Visuals
Keep two layers loaded and switch the active layer for quick swaps.
Motion Retargeting
Drive the active layer’s warping with a different layer’s motion. Great for applying bold motion from a high‑contrast source onto softer imagery.
Live Collage
Mix GIFs, webcam, or capture across layers for multi-source scenes.

ISF FX

No file loaded
Audio input: --
Gain is modulatable via isfAudioGain
Image filters only. ISF inputs become modulation destinations.
⚡ Performance Monitor

Video Export

bars
Estimated size: --

Modulation Matrix

S0 = base, S1–S5 = slots. Macros (above) drive any column.
- / -
0 / 0 Mode: glitchImage

Macros (above) can drive any column. S0 = base value, S1–S5 = slot amount.

General Settings

Hotkeys

Click Bind and press a key, MIDI note/CC, or gamepad button. Modifiers supported (Ctrl/Alt/Shift/Meta).

GIF Playback Controls

Visual/Motion Decoupling

With Visual Lock on, switching layers only changes motion; visuals stay on the locked layer.

Layer Routing

Choose the layer feeding each column. “Modulate” uses the layer ref parameters (image/motion/residual/block).

DJ Mode

Controls how textures blend when switching between layers with different GIFs.

Commit / Switching

Use Frame Boundary + Atomic for stability. Use After Warp for intentional cut/partial frames.
Use Cases
Visual/Motion Decoupling
With Visual Lock on, changing the active layer only swaps motion; the image stays on the locked visual layer. Use this to audition motion without changing the picture.
DJ Mode
With DJ Mode on, AVCLVB crossfades between outgoing and incoming layer textures instead of hard cuts. Frame Mapping decides how frame indices line up across loops; Size Handling decides how mismatched sizes are reconciled.
Performance: crossfades and any scaling/cropping cost GPU. Identity + Reject is lightest; Phase/Modulo with Scale/Crop/Letterbox is heavier.
Commit / Switching
Commit Policy controls when AVCLVB considers a frame stable enough to show (Atomic waits for a full frame; After Warp/Progressive allow partial frames). Switch Timing decides if a switch waits for a frame boundary or happens mid-frame.
Performance: Atomic + Frame Boundary avoids mid-frame churn and is most stable. After Warp/Immediate can raise GPU pressure and artifacting, but switches feel snappier.

Compressure Settings

Compressure changes how AVCLVB chooses frame indices by grouping frames into superframes and traversing them on a separate timeline. It affects which frames are sampled for playback and datamosh references, not the GPU warp itself.
Master toggle for the compression timeline. Off = AVCLVB uses the normal linear timeline everywhere.

Visual Playback

Datamoshing Reference

Offset Reference

Corruption Reference

Timeline Settings

Info
Visual Playback
AVCLVB samples the visible frame from superframe steps for a stuttered, stepped look. Performance is similar to normal playback.
Datamosh / Corruption References
Reference frames come from the compression timeline, so glitches pull from different moments in the loop.
Performance: changing timeline settings can trigger regeneration when these toggles are on.
Offset Reference
Frame offsets jump by superframes for rhythmic shifts. Minimal runtime cost.
Timeline Settings
Bigger Superframe Size = chunkier jumps. Mode/Frequency shape the traversal rate and pattern.

Datamosh Presets & Engine

Load a profile to apply macro templates and engine settings. Macros and matrix stay editable.
Engine path
Warp = no codec. Packet = texture ring. Bitstream = byte buffer + slot decode.
Optical flow
Engine: Initializing...
Computing...
Flow settings (settings-only)
Changing these recomputes motion vectors. Use Recompute after edits.
16
16
8
2
0.50
0.30
0.00
Import settings
16
16
8
1.0
Extraction quality
Small block = fine detail
Large search = fast motion
Small grid = dense vectors
CPU/GPU load
Small block = slower
Large search = slower
Small grid = slower
Low resolution = faster
Unchecked = artifacts accumulate endlessly (real-time).
Checked = batch regenerate when GIF loops (cleaner).
Batch regen
Settings-only changes wait here until applied.
Codec
QP/intra/ref control residual; stride controls how often image and motion update.
Packet ring
Packet mode only. Ring buffer depth and reference selection.
Pipeline
Film-grain noise (all cartridges).
Info
Profiles
Load macro templates and engine settings. Macros and matrix stay editable.
Engine path
Warp = motion only. Packet = GPU ring. Bitstream = buffer + slot decode.
Recipes
Runaway: Display, Stride 1, QP 25–40. Stable: GIF, Scale 0.5–0.75, Deblock on.
Engine detail
At a Glance
The Predictive Codec re-uses motion vectors to predict the next frame, then stores only the leftover “difference” (residual). QP controls how coarse that residual is, and Update Mode/Stride control how often it recalculates.
Engines (Residual Types)
Pixel: stores raw RGB differences. Fast, chunky, very direct.
YCbCr: stores brightness and color separately. Feels more like real video compression (color smears, luma holds).
DCT: stores 8x8 frequency blocks. Most codec-like, but heaviest on GPU.
Core Controls
  • Codec Mode: Warp disables codec, Packet uses GPU ring, Bitstream uses byte buffer.
  • Quantization (QP): higher = chunkier residuals and more breakup.
  • Intra Probability: forces refresh blocks (I‑blocks) to prevent total melt.
  • Reference Offset: predicts from older frames for wrong-reference smears.
  • Codec Block Size: base macroblock grid (settings-only, reallocates textures).
Performance & Cadence
  • Resolution Scale: lower = faster and blockier.
  • Update Mode: GIF = stable timing, Display = aggressive per‑frame updates.
  • Update Stride: recompute codec every N frames.
  • Deblock: smooths macroblock edges.
  • Residual Precision: 8‑bit/16‑bit storage (auto prefers 16‑bit).
Settings‑Only (Not Modulation Destinations)
  • Optical Flow Engine: Flow Engine, Block Size, Search Range, Grid Step, Search Step, Resolution, Temporal Smooth, Confidence. Changing these recomputes motion vectors.
  • Predictive Codec: Codec Engine, Codec Block Size, DCT Block Size, Resolution Scale, Update Stride, Stream Depth, Residual Precision. Changing these recompiles or reallocates codec textures.
Destination Dependencies
  • GIF Block Size: warp‑only. Codec block size is separate (Codec Block Size), so you can modulate warp without forcing codec rebuilds.
Packet Stream (Temporal Memory)
  • GPU Packet Stream: stores packets in a ring buffer for temporal artifacts.
  • Stream Depth: how many packets are remembered.
  • Packet Stride: advance packet index every N codec frames.
  • Packet Retain: chance to hold the current packet index.
  • Packet Jitter: randomizes reference selection within the stream depth.
  • Stream Debug Logs: prints stream decisions.
DCT Controls (DCT Engine Only)
  • DCT Block Size: override transform size (default 8).
  • DCT Scale: coefficient scale (higher = stronger artifacts).
  • DCT QP Scale R/G/B: per‑channel quantization.
Recipes
Runaway: Display, Stride 1, QP 25–40. Stable: GIF, Scale 0.5–0.75, Deblock on.