VKO1

User Manual

for iOS / macOS

What is VKO1?

VKO1 is a professional visual performance app for iPad, iPhone, and Apple Silicon Mac (via Designed for iPad). It plays your video clips, GIFs, images, and 3D models in sync with music. Designed for live performance, VKO1 delivers automated visual playback with precise BPM synchronization, 53 real-time effects, performance tape recording, and hardware controller support.

The Philosophy: Load your content, configure your performance, and let the app handle visual playback while you focus on your music.

8 Banks × 16 Pads

128 clips organized across banks A–H. MP4, MOV, M4V, GIF, PNG, JPG, JPEG, HEIC, USDZ, OBJ.

BPM-Synced Playback

Tap tempo, manual entry, MIDI clock, Ableton Link, or real-time beat detection. Clips and effects animate on the beat.

53 Master Effects

Metal GPU shaders for real-time processing. All BPM-synced with wet/dry control and custom color support.

Set It & Forget It

MIX auto-plays from all banks and rotates effects. MIX2 adds two-layer compositing with blend mode cycling. BLEND does the same compositing without touching your effects — fully hands-free.

Node Editor

Build custom reactive visuals with a visual graph editor. Wire generators, modifiers, and combiners together. React to BPM, audio energy, MIDI CC, and more. Full docs →

Store

Browse and download free and premium visual graphs from the built-in Store. Tap the bag icon in the top bar to open it. Drop any graph straight into your set.

Supported Devices: iPad (iOS 17+), iPhone (iOS 17+), Mac (Apple Silicon, macOS 14+)

Up and running in 4 steps

01

Load Content

Tap the folder icon > Bank Folders > + Add Folder. Choose a folder from Files. Clips auto-distribute across pads.

02

Set Your Tempo

Tap the BPM display. Use tap tempo, manual entry, MIDI clock, or enable beat detection.

03

Enable Auto-Play

Tap AUTO and cycle modes: SEQ, RND, SHF, MIX, MIX2, or BLEND. MIX for fully automated cross-bank mixing; MIX2 for layered compositing with blend mode cycling and effect automation; BLEND for the same compositing without effect changes.

04

Add Effects

Twist the Master Effect knob, pick an effect, dial in intensity. Effects animate in time with BPM.

Manual Import (Alternative)

  1. Long-press an empty pad
  2. Select "Import Media"
  3. Choose a video, GIF, image, or 3D model

Adding a Visualizer

No video files needed — VKO1 includes 25 GPU-rendered visualizer types that generate visuals in real time. Long-press an empty pad and tap "Add Visualizer" to browse types, pick a palette, and set reactivity. Visualizers respond to your audio, work with all effects and blend modes, and are included in Auto-Play rotation. See the Visualizers section for full details.

Pro Tip: Organize content into folders by theme and map each folder to a different bank (A-H). Keep 16 items per folder for easy 1:1 bank mapping. All imported content is copied locally for offline use.

Playing clips

Manual Mode

Tap any pad to play its clip. Tap another pad to switch.

Hold Mode

Tap HOLD to enable. Now tapping a pad toggles it on/off. Stack multiple clips as layers. Tap a playing pad again to remove it. Press CLEAR (or Escape) to release all.

Auto-Play Modes

Tap AUTO to cycle through modes:

SEQ

Sequential order within current bank (1, 2, 3, 4...)

RND

Smart random — avoids recently played clips

SHF

Pure shuffle within current bank

MIX

Auto-mix across all 8 banks with automatic effect changes. Prefers clips from different banks for maximum variety.

MIX2

Two-layer compositing mode. Keeps the previous clip as a base layer while bringing in a new clip on top. Automatically cycles blend modes on the upper layer at each trigger and rotates master effects. Prefers clips from different banks for variety. No HOLD required — the two-layer stack is managed automatically. When HOLD is active, held pads act as the fixed base and MIX2 cycles on top.

BLEND

Two-layer compositing mode — identical to MIX2 in how it stacks clips and cycles blend modes, but with one key difference: no master effect automation. Your effects stay exactly as you've set them. Every trigger brings a new clip on top of the previous base, and blend modes on the upper layer cycle automatically. Selects across all 8 banks. When HOLD is active, held pads act as the fixed base. Use BLEND when you want the evolving composite texture of MIX2 but need full control over your effects.

MIX2 & BLEND Settings: Open BPM Settings and scroll to AutoMix Options. Toggle Master Effect Automation (MIX2 only — BLEND never touches effects) and Blend Mode Automation independently. Blend mode automation fires at 40% probability per trigger and is skipped automatically under performance stress.

Time Division: Controls how often clips switch (1/16, 1/8, 1/4, 1/2, 1 bar, 2 bars, 3 bars, 4 bars). Adjust with DIV.

Clip trimming

Set in/out points on any clip to play only the section you want.

  1. Long-press a pad
  2. Select "Trim"
  3. Use the range slider to set in and out points
  4. Preview the trimmed section in real-time
  5. Tap "Apply"

Works on videos, GIFs, and any media with duration. Trim settings are saved with your session. Load the same video on multiple pads with different trim regions to chop a single source into many clips.

Using banks

8 banks (A-H) with 16 pads each = 128 total clips.

Example Setup:

A: Geometric B: Nature C: Glitch Art D: Abstract E: Typography F: Organic G: 3D Models H: Retro

Touch gestures

GestureAction
Tap padPlay/switch to that clip
Long-press padOpen pad menu (import, trim, settings, effects, MIDI learn, delete)
Swipe left/rightNavigate between banks A through H
Drag up/down on knobAdjust effect intensity (dry/wet)
Long-press knobOpen effect picker
Long-press effect in pickerAdd/remove from favorites, exclude from AutoMix
Tap < > arrowsCycle through effects
Tap bank buttonsSwitch banks directly
Tap BPM displayOpen BPM & Sync settings
Drag pad to another padMove clip to new slot
Drag pad + hold on destinationCopy clip (duplicate with all settings)
Drag from Files / PhotosDrop directly onto any pad to import
Drag pad to another appExport clip via iOS drag & drop

Pro Tip: Long-press is your friend! Almost any button or pad can be long-pressed for additional options or MIDI Learn.

53 real-time effects

All effects run as Metal GPU shaders applied to the composited output of all active clips. Drag up/down on the MFX knob to control intensity (dry/wet). Every effect supports BPM sync — tap the metronome icon in the picker to set the division.

How to use: Long-press the MFX knob to open the picker. Tap an effect to assign it. Use < > arrows to cycle. Drag the knob vertically to adjust intensity. Long-press any effect in the picker for color settings, BPM division, favorites, and AutoMix exclusion.

Color & Grading — 9 effects
Invert

Flips every pixel to its RGB complement — blacks become white, colors rotate to their opposite on the wheel. At partial intensity, blends between original and inverted image.

Color Shift

Rotates the hue of all pixels through the color spectrum. Intensity controls rotation speed; at BPM sync the full hue wheel cycles once per beat division.

Saturation

Boosts or crushes color saturation. Below 50% intensity moves toward grayscale; above 50% pushes toward hyper-vivid neon. Pulses rhythmically at BPM.

Brightness

Raises or lowers the overall luminance of the frame. Low values darken toward black; high values blow out to white. Use at low intensity for a subtle exposure pump.

Contrast

Expands or compresses the tonal range. High contrast crushes blacks and blows out highlights for a punchy, graphic look that pulses on the beat.

Posterize

Reduces the number of distinct color levels, creating flat poster-art bands of solid color. Intensity controls the step count from many gradients down to two harsh tones.

Bloom

Simulates lens glow by spreading bright areas outward. Lights and highlights radiate a soft halo. Works especially well on neon and backlit footage.

Thermal

Maps pixel luminance to a false-color heat palette (blue → green → yellow → red). Converts any footage to an infrared camera aesthetic.

Gradient Map color

Replaces luminance with a synthwave gradient ramp (deep purple → cyan). Dark areas map to cool colors, bright areas to warm highlights. Open the color picker in the effect menu to customize the ramp endpoints.

Distortion — 9 effects
Pixelate

Chunks pixels into large blocks. Intensity controls block size from subtle lo-fi grain to coarse Minecraft-style squares. BPM sync pulses the block size on the beat.

Glitch

Simulates digital signal corruption: random horizontal slice offsets, RGB channel smearing, and noise bands. Looks like a dying VHS or corrupted video stream. Severity follows intensity.

RGB Split

Separates the red, green, and blue channels and offsets them horizontally in opposite directions. Creates the classic chromatic aberration prism-split look found in lo-fi and glitch aesthetics.

Displace

Uses an animated noise field to push pixels away from their original position. Creates a watery, displacement-mapped wobble. Intensity controls the displacement radius.

Datamosh

Simulates compression artifact glitches by smearing motion across the frame, as if I-frames were dropped from a video stream. Content bleeds and streaks with movement.

Wave Warp

Applies a sine-wave distortion horizontally and vertically. Intensity controls wave amplitude. With BPM sync, the waves ripple rhythmically on each beat for a pumping wobble.

Ripple

Radiates concentric sine-wave rings outward from the frame center, creating a pond-ripple displacement effect. Wave frequency and amplitude are BPM-synced; intensity controls displacement strength.

Pixel Sort

Sorts pixel columns by brightness within a luminance threshold, producing directional streaks of organized pixels. A signature glitch art technique that creates aurora-like vertical smears.

Sharpen

Amplifies high-frequency edges using an unsharp mask. Moderate intensity crisps footage; high intensity creates an over-sharpened, artificial digital artifact look.

Kaleidoscope & Mirrors — 6 effects
Kaleidoscope

2-fold radial symmetry. Mirrors the source quadrant twice and rotates the segments around a center point. Creates a shifting mandala from any footage.

Kaleido 4

4-fold symmetry. A more intricate mandala pattern formed from four mirrored and rotated copies of the source quadrant. Ideal for symmetrical, graphic content.

Kaleido 6

6-fold symmetry. Produces a hexagonal snowflake structure. The six segments rotate in sync with BPM for a spinning kaleidoscope effect.

Kaleido 8

8-fold symmetry for maximum kaleidoscopic complexity. Works especially well on footage that already contains repeating patterns or high contrast geometry.

Mirror

Flips the left half of the frame onto the right (bilateral symmetry). Simple and effective — any footage with strong asymmetry becomes suddenly surreal.

Mirror Quad

Mirrors both horizontally and vertically simultaneously, creating four-way symmetry from a single source quadrant. More geometric and abstract than bilateral mirror.

Blur — 2 effects
Blur

Gaussian blur softens all detail by spreading each pixel across its neighbors. Intensity controls the blur radius. Use at low intensity for a dreamy soft look, high intensity for total abstraction.

DOF

Depth of field simulation. Blurs the edges of the frame with a radial falloff while keeping the center sharp, mimicking a shallow-focus cinema lens. Intensity controls the vignette radius.

Feedback & Trails — 5 effects
Feedback

Feeds the output back into the input with each frame, creating growing geometric trails and tunnel-vision spirals. Iconic video synthesizer effect. Low intensity adds subtle trails; high intensity creates infinite recursive tunnels.

Echo Trails

Blends the current frame with a decayed copy of previous frames. Fast-moving content leaves comet-tail streaks. Intensity controls trail length and decay speed.

Ghosting

Overlays semi-transparent echoes of recent frames. Similar to Echo Trails but with opacity-based blending rather than additive. Great for slow panning footage and dreamy overlaps.

Strobe

Alternates between the live image and a frozen black frame on the beat division. Creates a strobe-light effect locked to your BPM. Use responsibly — avoid at high BPM in public venues.

Freeze

Locks a still frame of the current video output in place. With BPM sync enabled, creates a rhythmic freeze-release stutter: the image momentarily freezes on each beat, then snaps back to live playback.

Transform — 5 effects
Rotate

Continuously spins the entire frame around its center. Rotation speed is BPM-synced — one full revolution per beat division cycle. Intensity blends between stationary and fully rotating.

Scale

Rhythmically zooms in and out, creating a breathing, pumping effect. The zoom pulses on the beat. Intensity controls zoom depth from subtle push to aggressive slam-zoom.

Pinch

Applies an inward pinch warp radiating from the center, as if the image is being sucked into a lens. The warp pulses with BPM for a rhythmic vortex pull effect.

Spotlight

Fades the edges of the frame to black while preserving a circular center spotlight. Intensity controls spotlight radius, narrowing focus to a single bright point at full intensity.

Tile

Tiles the frame into a grid of smaller identical repetitions. Intensity controls the tile count — from 2×2 to a dense matrix. Creates a hypnotic mosaic of synchronized video tiles.

Psychedelic — 7 effects
Fractal

Overlays an additive fractal noise texture onto the image. The noise pattern animates and evolves in real time, synced to BPM. Creates organic, ever-changing grain that complements any footage.

Perlin

Similar to Fractal but uses smooth Perlin noise, producing cloud-like wisps and fluid organic structures. Softer and more flowing than the fractal variant.

Plasma

Generates classic 90s-era plasma waves in vivid neon colors blended onto the image. Multiple sine-wave interference patterns cycle through hues synchronized with BPM.

Liquid

Applies complex multi-frequency warping to make the image appear to melt and flow. More extreme and chaotic than Wave Warp, with each layer of warp moving at different rates.

Vorticella

Generates animated vortex and spiral patterns overlaid on the image. Named after the spiral-stalked protozoa. The spiral arms spin at a rate locked to BPM division.

Solarize

Inverts pixels above a luminance threshold, creating a partially-inverted photograph effect (Sabatier effect). With BPM sync, the threshold sweeps across the tonal range rhythmically, creating pulsing inversions.

Slit Scan

Samples a thin horizontal slice of the frame over time and composites the slices into a single image — the technique behind Star Trek warp tunnels and time-warp photography. Motion through the frame creates flowing smear patterns.

Vintage & Retro — 3 effects
Sepia color

Desaturates the image and applies a warm amber-brown tint. The color picker lets you replace the default sepia tone with any custom tint. Intensity blends from original to full toned effect.

B&W color

Converts to grayscale. The color picker lets you tint the bright areas any color (cyan, magenta, amber, etc.) while dark areas remain black — creating a duotone effect at partial intensity.

VHS

Simulates VHS tape degradation: horizontal scan lines, color bleed at high-contrast edges, noise bands drifting vertically, and slight desaturation. Intensity controls artifact severity from subtle Lo-Fi to completely degraded.

Stylize — 7 effects
Halftone color

Renders the image as a grid of circles whose size is proportional to pixel brightness, like a newspaper print screen. Background color between dots is user-selectable. Intensity controls dot scale and spacing.

Edges color

Edge detection shader that isolates luminance boundaries and draws them as bright lines on a dark background — a neon wireframe of your footage. Line color is user-selectable. Great with high-contrast geometric content.

ASCII

Converts the image to block text characters (█ ▓ ▒ ░) scaled to pixel brightness, creating a real-time ASCII art rendition of your footage. Character density follows intensity.

Oil Paint

Applies a Kuwahara filter that groups neighboring pixels into smooth brush-stroke-like patches, giving footage the appearance of a painterly oil painting. Intensity controls brush size and abstraction level.

Rutt-Etra color

Emulates the Rutt/Etra analog video synthesizer from the 1970s: displaces horizontal scan lines vertically based on pixel brightness, forming a 3D wireframe topology. Default line color is phosphor green — user-selectable.

Glass

Applies a frosted glass refraction using a noise-based displacement map, making the image appear to be seen through textured or bumped glass. Works well combined with Blur at low intensity.

Outline color

Draws a soft Blender-style edge glow around bright regions of the frame. Tint color is user-selectable; edge width and glow intensity react to the beat.

Per-Clip Pad FX

Long-press a pad and select "Effects" to apply effects to individual clips. Per-clip effects are applied before the master effect, so they stack multiplicatively.

Favorites

Long-press any effect in the picker and choose "Add to Favorites". Favorites appear in a dedicated star tab for quick access during performance. Favorite status persists across sessions.

Exclude from AutoMix

Long-press any effect in the picker and select "Exclude from AutoMix". MIX mode will skip excluded effects during automatic effect rotation, but they remain available for manual use.

Custom Effect Colors

Six effects support a user-chosen color, opened via the color palette icon in the effect picker:

Halftone — background fill between dots Sepia — tint color B&W — highlight tint Edges — line color Rutt-Etra — scan line color Gradient Map — ramp color

Built-in Visualizers

Twenty-five GPU-rendered visualizer types that run directly on the pad grid. No video files needed — everything is generated in real time via Metal shaders. Visualizers react to your audio, work with all master and per-pad effects, blend modes, and save with your sessions.

Adding a Visualizer

There are two ways to place a visualizer on a pad:

Empty pad

Long-press an empty pad and tap "Add Visualizer". This opens the Visualizer Picker where you can browse types, choose a palette, and adjust settings with a live preview before assigning.

Replace existing clip

Long-press a pad that already has content and open the "Replace with Visualizer" submenu. Pick a visualizer type and it replaces the current clip immediately.

Visualizer Picker

Full configuration sheet with live preview, type grid, horizontal scrolling palette picker, and sliders for reactivity and complexity. Tap "Assign to Pad" when ready.

Tweaking After Assignment

Long-press any visualizer pad to open its context menu. From there you can change:

TypeSwitch between all 25 visualizer types without removing the pad
PalettePick from 33 color palettes
ReactivityHow strongly the visualizer responds to audio (Low / Medium / High / Max)
ComplexityDetail level from minimal to maximum (affects layer count, particle density, etc.)

Visualizer Types

25 types — all GPU-rendered
Plasma

Classic plasma waves generated by overlapping sine functions. Produces flowing, organic color gradients that shift and morph continuously. Complexity adds more sine layers for denser interference patterns.

Voronoi Cells

Animated Voronoi diagram with drifting cell centers. Creates an organic, cellular texture that resembles stained glass, reptile scales, or microscope imagery. Complexity controls the number of cell points.

Fractal Noise

Multi-octave fractal Brownian motion (fBm) noise field. Produces cloud-like, terrain-like structures that evolve slowly over time. Complexity adds more octaves for finer detail. Audio energy drives the noise evolution speed.

Tunnel Warp

An infinite tunnel effect using polar coordinate warping. The camera appears to fly through a textured tunnel whose walls twist and pulse. Beat strength controls tunnel speed; complexity adjusts wall distortion layers.

Starfield

Multi-layer parallax starfield with twinkling, color variation, and a subtle nebula background. Deeper layers move faster for depth. Audio energy drives flight speed; beat hits flash all stars brighter. Complexity adds more parallax layers. 3 stars per grid cell for density.

Geometric Patterns

Concentric rings of segmented geometric shapes that rotate in alternating directions. Beat phase modulates the rotation. Complexity adds more rings. Creates mandalas and spirograph-like structures.

Spectrum Rings

Radial frequency bars arranged in a circle. Each bar reads live spectrum data and extends outward from the center, creating a radar/sonar-like display. Signal is heavily amplified for maximum visibility. Complexity controls the number of frequency bins displayed.

Particle Fountain

GPU-instanced particle system with thousands of particles that spawn, drift, and fade. Beat strength boosts spawn rate, velocity, and particle size. Particles use additive blending for a glowing, firefly-like appearance. Complexity controls the maximum number of active particles.

EQ Bars

Classic equalizer bar display driven by live spectrum data. Each bar represents a frequency bin and grows in real time. Aspect-ratio aware — bars grow vertically in portrait and horizontally in landscape. Complexity controls the number of bars (8–32). Defaults to maximum complexity.

Audio-reactive
Spectrum Wave

Smooth flowing waveform lines that fill the entire screen. Multiple wave layers are stacked vertically, each reading from a different offset in the spectrum data for organic variety. Every layer has its own palette hue, glow, and fill. Complexity controls layer count (4–16).

Audio-reactive
Oscilloscope

DAW-style oscilloscope that draws the audio waveform as a bright, glowing line across the screen. The waveform thickens and pulses with beat strength. A subtle phosphor afterglow trails behind the main trace. Complexity controls the line resolution and glow width.

Audio-reactive
Level Meter

LED-segment level meters like those on a hardware mixing console. Each channel averages a region of the spectrum and displays it as a column of lit LED segments. Aspect-ratio aware — meters grow vertically in portrait and horizontally in landscape. Complexity controls channel count (2–8) and segment resolution. Defaults to maximum complexity.

Audio-reactive
Grid Pulse

A sharp, animated grid of intersecting lines that drifts slowly across the canvas. Audio energy sends ripple waves outward from the center, distorting the grid in real time. Every line crossing flares brightly on beat hits, and a radial vignette keeps energy focused at the center. Complexity controls grid density.

Neon Prism

Concentric regular polygons — triangles, squares, pentagons, hexagons, heptagons, and octagons — stacked concentrically and rotating in alternating directions at staggered speeds. Each ring has a sharp neon-glowing edge with layered halos. Inner rings pulse dramatically on beat; outer rings hold steadier. Complexity controls how many rings are drawn (3–10).

Laser Web

Multiple ultra-thin laser lines radiate from the center of the canvas, each one rotating at a slightly different speed in alternating directions. The lines have a razor-sharp core with a narrow glow halo; where they overlap, additive blending creates naturally blazing intersections. Beat fires a central strobe flash. Complexity controls beam count (3–12).

Shard Burst

Triangular shards radiate from the center, each one driven by a live spectrum bin. Shard height maps directly to frequency energy — louder frequencies produce longer, more dramatic spikes. Each shard tapers to a sharp point with glowing angular edges and a bright tip halo. The entire arrangement rotates slowly with a snap on the beat. Complexity controls shard count (8–32).

Audio-reactive
Signal Decode

Industrial data stream with horizontal glitch scan lines and corruption blocks that snap to a grid on beat. Vertical data streams scroll downward, edge bracket markers frame the display, and corruption bands flash across on impact. Beat-quantized randomness keeps every hit surprising. Complexity controls grid density.

Marathon-inspired
Tactical Grid

HUD-style tactical radar display with concentric dashed range rings, crosshairs, and a rotating radar sweep. Targeting brackets jump to new random positions on each beat. Tick-mark coordinates line the edges. An expanding pulse ring radiates outward on every hit. Complexity controls target count and grid detail.

Marathon-inspired
Glyph Matrix

A grid of procedural geometric symbols — crosses, diamonds, triangles, circles, arrows, crosshairs, data bars, and dot patterns — that randomly shuffle and snap-rotate (0°/90°/180°/270°) on each beat. A wave-based reveal animation sweeps across the grid. Complexity controls grid size.

Marathon-inspired
Schematic Pulse

Circuit board traces with orthogonal lines, intersection nodes, diagonal connectors, and data packets that travel along the traces. Hub nodes with concentric rings flash on beat. Random nodes light up on each hit. Complexity controls trace density and hub frequency.

Marathon-inspired
Terminal

Old CRT terminal rapidly loading a program. Fast-scrolling fake code lines, memory addresses, progress bars, blinking cursor, and status readouts. Beat triggers glitch corruption rows and scroll speed bursts. CRT scan lines and phosphor vignette complete the retro feel. Complexity controls character density.

Retro
Tron Grid

Infinite perspective wireframe grid floor rushing toward the camera, with a matching sky grid receding above the horizon. Bright vector horizon line with glow, floating wireframe shapes (diamonds, squares, circles) rotating in space, and vertical accent lines. Classic 1982 vector monitor aesthetic. Beat pulses the grid in waves.

3D Vector
Wire Tunnel

Flying through a rotating wireframe tunnel with morphing polygon cross-sections that shift between triangles, squares, pentagons, and beyond. Longitudinal lines connect the rings. Beat spawns expanding flash rings and accelerates flight speed. A glowing vanishing point marks the tunnel core. Complexity controls ring count and polygon variation.

3D Vector
Vector Terrain

80s wireframe mountain landscape with noise-driven peaks scrolling toward the camera. A retro sliced sun sits on the horizon with twinkling vector stars above. Beat makes the terrain peaks spike dramatically. Vertical perspective grid lines add depth to the floor. Complexity controls mesh resolution.

3D Vector
Holo Cube

Up to 7 nested wireframe cubes rotating independently on all three axes with full perspective projection. Inner cubes spin faster. Glowing vertex dots mark the corners of the outermost cube. Beat triggers scale pulses and 90° axis snaps. Complexity controls nesting depth.

3D Vector

33 Color Palettes

Every visualizer type supports all 33 palettes. A random palette is assigned each time you load a new visualizer. Colors are generated procedurally using cosine-based gradient functions, so they produce smooth, continuous color ramps rather than hard steps.

Cyberpunk Neon Fire Ice Nature Synthwave Monochrome Rainbow Toxic Blood Moon Electric Lava UV Candy Matrix Inferno Mono Red Mono Blue Mono Green Mono Purple Mono Amber Mono Cyan Mono Pink Sunset Ocean Vapor Copper Aurora Coral Midnight Rust Hologram Marathon

Audio Reactivity

Visualizers respond to three audio signals from the beat detection engine:

Beat StrengthImpulse on each detected beat — triggers flashes, particle bursts, speed boosts
EnergyOverall audio loudness — drives continuous animation speed, brightness, particle velocity
Beat PhasePosition within the current beat cycle (0–1) — used for smooth oscillations and rotations

The Reactivity slider scales how much these signals affect the visualizer. At zero, the visualizer animates on its own clock. At maximum, every visual parameter is driven by the audio. Reactivity defaults to maximum for all visualizer types.

Works Like Any Clip

Once assigned to a pad, a visualizer behaves exactly like a video clip:

Master EffectsAll 53 effects apply to visualizers (kaleidoscope, glitch, feedback, etc.)
Per-Pad EffectsLong-press the pad to assign a per-clip effect that stacks with the master
Blend ModesAdditive, multiply, screen, difference — layer visualizers with video clips
OpacityAdjust per-pad opacity for layering
AutoMixVisualizer pads are included in MIX, SEQ, RND, and SHF rotation
SessionsFull visualizer config (type, palette, reactivity, complexity) saves and restores with sessions and performance scenes

Tip: Layer a visualizer pad with a video clip using additive blend mode for an instant reactive overlay. Set the visualizer to high reactivity and the video to a loop — the visualizer pulses on top of your footage.

Node Editor

The Node Editor lets you build custom reactive visuals by connecting nodes on a graph canvas — no coding required. Each node is a processing block: generators create visuals from scratch, modifiers transform them, combiners blend layers together, and inputs feed live data like BPM, audio energy, or MIDI into the graph.

Access it from the pad context menu (Long-press pad → Edit Graph) or via the node editor button in the toolbar. Tap + to open the node palette and add nodes. Connect output ports to input ports by dragging. The result renders in real time on the pad.

Generators

Create the base visual layer. Includes all 25 built-in visualizer types, the MediaMesh3D node (wrap images, GIFs, or video onto a 3D mesh), and custom Metal shaders. Each generator has its own palette, complexity, and reactivity controls.

Modifiers

Transform a layer — color controls, Rotate (0–360° UV spin, audio-reactive), affine transform (scale, translate), twirl, vortex, blur, film look, and more. Chain multiple modifiers for compound effects.

Combiners

Blend two layers together using standard blend modes (add, multiply, screen, overlay, difference…). Mix parameter controls the blend ratio between the two inputs.

Inputs

Feed live data into graph parameters. Constant, LFO (sine, square, saw, triangle), MIDI CC (reads a live CC value 0–127), and MIDI Note (reads velocity of a specific note).

Custom Metal Shaders

Tap New Shader from Scratch in the node palette to create a blank Metal fragment shader. Edit the source directly in the built-in code editor. Compiled shaders appear in the My Shaders library and can be placed on any graph. Import existing .metal files via the import button in the node editor toolbar.

Saving & Sharing Graphs

Finished graphs are saved with your session. Tap the bookmark icon to save a graph to the Graph Library for reuse across sessions. Tap the share icon to export a .vkograph file — share via AirDrop, iCloud, or Files. Import graphs from the session manager or by opening a .vkograph file.

Full documentation: Node Editor Reference → — complete node type reference, shader authoring guide, and example graphs.

Claude Control

Claude Control turns VKO1 into an instrument an AI can play. Connect Claude Code (Anthropic's terminal agent) and it writes custom Metal shaders, builds node graphs, previews its own renders, and pushes visuals straight onto your pads — live, while the app is running. It compiles code inside VKO1, sees the real compiler errors, and iterates until the shader works.

VKO1 speaks the open MCP (Model Context Protocol) standard directly — there is nothing to install inside VKO1, no plugins, no scripts. One toggle, one Terminal command.

Setup

01

Install Claude Code

Get it from claude.com/claude-code. Requires a Claude account. One-line install, no developer tools needed.

02

Enable the Toggle

In VKO1 on your Mac, tap the sparkles ✨ icon in the top bar and switch on Enable Claude Control. A green dot confirms the server is running. The setting persists across restarts.

03

Connect Claude Code

Run the command shown in the sheet (there's a Copy button). This registers VKO1 as a tool Claude can use. One time only.

04

Ask for Visuals

Open Terminal, run claude, and describe what you want. Claude does the rest — watch pads light up.

$ claude mcp add --transport http vko1 http://127.0.0.1:8561/mcp

What Claude Can Do

Write Custom Shaders

Claude authors Metal fragment shaders (2D) and vertex+fragment shaders (3D), compiles them inside VKO1, reads any compiler errors, and fixes its own code. Finished shaders land in My Shaders.

Build Node Graphs

Full graphs — generators, modifiers, combiners, audio inputs, wired to output. Bass-reactive parameters, LFOs, palette control. Saved to your Graph Library on request.

See Its Own Work

Claude renders any graph off-screen and receives the frame as an image — it visually checks the result and refines before touching your pads.

Perform

Trigger pads (with HOLD layering), set BPM, switch autoplay modes, drive both Master Effect knobs, and read live audio analysis — energy and beat strength — to react to the music. Bulk pad control too: playback mode, speed, blend mode, render quality, and palette across any or all pads in one command.

The Toolbox — All 18 Tools

These are the tools Claude sees when connected. Ask Claude “list your vko1 tools” at any time to confirm the connection works and see exactly what's available — a quick health check and a great way to discover what to ask for.

ToolWhat it does
vko_catalogNode reference, shader templates, graph format, all valid option names. Claude should read this first
vko_stateBPM, banks, playing pads, live audio energy + beat strength, effects, autoplay, hold mode
vko_create_shaderCompile a new Metal shader (2D or 3D) — returns real compiler errors
vko_update_shaderEdit a shader's source; recompiles, pads pick it up live
vko_list_shaders / vko_get_shaderBrowse the custom shader library / fetch full source
vko_preview_shader / vko_preview_graphOffscreen render returned as an image — Claude sees its own work
vko_set_pad_graphPush a node graph onto a pad, playing live; updates in place
vko_get_padInspect a pad, including its full graph
vko_trigger_padActivate a pad; hold: true layers it on the current stack
vko_set_pad_optionsPlayback mode, speed, blend mode, render quality, palette, reactivity — one pad, several, or all at once
vko_set_master_effectDrive the X / Y MFX knobs: effect, intensity, BPM division
vko_set_bpmSet global tempo (20–300)
vko_set_autoplaySwitch AUTO modes: off, SEQ, RND, SHF, MIX, MIX2, BLEND
vko_save_graph / vko_list_graphs / vko_get_graphGraph Library: save, browse, fetch

After a VKO1 update: new tools ship inside the app. Relaunch VKO1, then start a fresh Claude session (the tool list is fetched at connect time). No need to re-run the claude mcp add command — ask “list your vko1 tools” to confirm.

Example Prompts

Speed tip — auto-approve the tools: by default Claude Code asks permission before every tool call, which stalls the flow (deadly mid-set). Press Shift+Tab in the Claude session to switch to auto-accept mode, or pick “don't ask again” the first time each vko1 tool runs. Claude then works at full speed — building, previewing, and pushing visuals without stopping to ask.

Running a Set with Claude

Claude thinks in seconds, not beats — so let each side do what it's best at. The strongest pattern is Claude as art director, AutoMix as performer:

  1. Have Claude fill banks with themed visuals before or during the set
  2. Enable AUTO > MIX (or MIX2 / BLEND) — VKO1 handles beat-synced triggering
  3. Keep the Claude session open and steer with prompts: “next section is acid techno — harder, more red, add strobe on Y”
  4. Claude swaps pad content, writes fresh shaders, and adjusts effects underneath the automated performance

For slower ambient sets, Claude can perform directly: polling audio energy via its state tool and switching scenes every phrase works well without AutoMix.

Other AI Agents — Codex, Gemini & More

VKO1's server is standard MCP over HTTP — it is not tied to Claude. Any MCP-capable agent can connect to http://127.0.0.1:8561/mcp. Claude Code is what we test with and recommend, but the endpoint is the same for everyone:

OpenAI Codex CLI

Add the server to ~/.codex/config.toml:

[mcp_servers.vko1] url = "http://127.0.0.1:8561/mcp"

Requires a recent Codex CLI version with streamable-HTTP MCP support. Then run codex and ask for visuals.

Google Gemini CLI

Add the server to ~/.gemini/settings.json:

{ "mcpServers": { "vko1": { "httpUrl": "http://127.0.0.1:8561/mcp" } } }

Then run gemini and check the connection with /mcp.

Everything Else

Cursor, Claude Desktop (custom connector), VS Code, or any MCP client: point it at http://127.0.0.1:8561/mcp with the streamable HTTP transport. No authentication — the server only accepts connections from your own Mac.

Note: the shader-preview tools return images. Agents that display image results (Claude Code, Gemini) can visually check their own renders; text-only clients still work — they just iterate using compile errors and your feedback instead.

Privacy & Security

Troubleshooting

Pro Tip: Start every session by asking Claude to “check the VKO1 catalog first” — it reads the node reference and shader templates from the app itself, so its first shader compiles far more often.

The Store

The Store is a built-in library of downloadable visual graphs. Browse free and premium packs, preview them live, and drop them directly onto any pad.

Opening the Store

Tap the bag icon in the top bar. The store opens as a sheet. Browse packs, tap any graph to preview, then tap Download to add it to your Graph Library. From there, long-press any pad and choose Load Graph to assign it.

Graph Packs

Packs contain curated collections of node graphs — from generative animations and reactive shaders to abstract compositing setups. Each pack is designed to work out of the box, and every graph can be opened in the Node Editor and customized.

Shader Store

The Shader Store is a built-in marketplace for Metal GPU shader packs. Each pack contains ready-to-use shaders that drop directly onto any pad — no node graph required. Browse free and premium packs, install with one tap, then assign any shader from the pad menu.

Opening the Shader Store

Tap the store icon in the toolbar. The Shader Store opens as a full sheet. Browse packs, read descriptions, and tap Get (free) or the price button (paid) to install.

Installing Shaders

Tap Install All inside a pack to compile and install every shader in one go. A progress bar tracks compilation. Once installed, shaders appear in the pad menu under Load Shader. Shaders run as real-time Metal GPU programs — they react to audio, lock to BPM, and support all master effects and blend modes.

Purchases & Restore

Paid packs are one-time purchases via in-app purchase. They restore automatically across all your devices signed into the same Apple ID — tap Restore Purchases in the store if a purchase doesn't appear.

Source Code Included

Every shader in every pack ships with its full Metal source code. Open any shader in the Node Editor to read, fork, and rewrite it however you want.

Browse packs online: Shader Store →

Performance Tape

Record your live performance and play it back as a loop, like a loop station for visuals. Event-based — captures actions, not video frames.

Recording

Tap REC to start. Perform: tap pads, change effects, twist knobs, scratch. Tap REC again to stop. Your performance is now a loop.

Overdub

Tap REC while a tape is playing. New events layer on top. First take sets the bar length, overdubs layer on top.

Playback

Tap PLAY to loop your recorded performance. The tape re-triggers all your actions in time. 960 PPQN precision.

Tape Editor

Visual timeline with colored blocks and automation curves. Quantize to grid. Delete individual events. Undo layers.

Tape Controls

Long-press the tape button for: Eject (save to library), Clear (delete tape), Editor (timeline view).

What Gets Recorded

Tape Library

Long-press REC to access saved tapes. Each tape has a unique color and icon. Tapes persist across sessions.

Jogwheel mode

Toggle between the Master Effect knob and the Jogwheel by tapping the MFX pill button, or pressing G on a keyboard.

Touch Scratching

Scratch Sensitivity

Open BPM & Sync > Jogwheel section. Slider from 0.25x (Fine) to 3.0x (Turbo). Preset pills: Fine, Slow, Normal, Fast, Turbo.

MIDI CC Scratch

  1. Open MIDI Settings > Knobs & Faders > tap "Learn" next to Scratch Wheel
  2. Move a knob on your MIDI controller
  3. Center (64) = stopped, 0 = full reverse, 127 = full forward
  4. Auto-engages when you move the knob, auto-releases at center
  5. Deadzone (60-68) prevents jitter

Memory gauge

The MEM indicator in the top bar shows how much of your device's physical RAM the app is currently using. It is designed to warn you before you load so many heavy clips that the system kills the app.

Thermometer states

MEM
Low <35%
MEM
Medium 35–55%
MEM
High >55%

Reading the gauge

The vertical bar fills from the bottom. Color changes automatically as usage climbs:

ColorUsageMeaning
GreenBelow 35%Plenty of headroom. Load freely.
Orange35–55%Getting full. Avoid adding many more heavy clips.
RedAbove 55%High pressure. iOS may terminate the app if usage keeps climbing.

Tap for details

Tapping the MEM chip opens a popover with a full breakdown:

What fills memory

Regular forward playback is streamed and uses minimal RAM. Memory usage climbs when:

Pro Tip: If you need reverse playback on long 1080p clips, trim them to the essential section first (long-press pad > Trim). Shorter clips decode fewer frames. Or switch to 720p exports for the same visual result at a quarter of the memory cost.

BPM & Sync

Set Your BPM

Tap Tempo: Tap the BPM display, then tap the tempo button in rhythm (at least 4 taps).

Manual Entry: Tap BPM display > Manual Input > type BPM (20-300) > Set.

Sync Sources

Internal Clock

Manual BPM via tap tempo or direct entry. The default for standalone use.

MIDI Clock

Receive 24 PPQN clock from your DAW, drum machine, or hardware. Transport follows external play/stop.

Ableton Link

Sync tempo, beat, and phase over the local network with Ableton Live, Traktor, Serato, and other Link-enabled apps.

Audio Beat Detection

Real-time analysis detects tempo from audio. Genre presets constrain BPM range to prevent drift.

Beat Detection

Tap BPM display > enable "Audio Beat Detection". The app listens to your music and detects tempo in real-time. Auto-starts/stops playback when audio is present/absent.

Genre Presets

Constrain beat detection to the correct BPM range:

GenreBPM Range
Any60–200
Hip Hop70–105
Reggaeton88–104
House118–135
Techno125–155
D&B160–190
Dubstep135–150
Pop95–135
Rock100–145

3D model support

Supported Formats: USDZ (primary), OBJ

Animation Presets (per-clip)

Static Built-in Turntable Orbit Bounce Spin Rock

3D models respond to master effects, speed control, and the Depth of Field (DOF) effect. Models are pre-cached on assignment for instant activation.

Hardware keyboard shortcuts

Connect a Bluetooth or USB keyboard for hands-on control.

Pad Triggers

Q1
W2
E3
R4
A5
S6
D7
F8
Z9
X10
C11
V12
113
214
315
416

Controls

KeyAction
SpacePlay / Stop
EscapeClear all (pads + effects)
HToggle Hold mode
GToggle MFX / Jogwheel
NToggle Random mode
BToggle Beat Detection
PToggle Fullscreen
JCycle Auto-Play Mode
KCycle Time Division
LCycle Pads 1–16
MClear Master Effect
TTape Record (toggle)
YTape Play (toggle)
UOpen Tape Editor
< >Previous / Next Master Effect
Up / DownBPM +1 / -1
Tab / Shift+TabNext / Previous Bank

Xbox. PlayStation. MFi.

Connect any Bluetooth game controller for hands-free visual performance.

Xbox Wireless DualSense (PS5) DualShock 4 (PS4) MFi Controllers

Default Mapping

ButtonAction
A / CrossPlay/Stop pad at cursor
B / CircleCycle Auto-Play Division
X / SquareToggle Hold
Y / TriangleCycle Auto-Play Mode
D-padNavigate pad grid cursor
L1 / R1Previous / Next Bank
L2 / R2MFX intensity (analog)
Right StickJogwheel scratch
Menu / StartPlay / Pause
OptionsCycle Master Effect

Custom Mapping

Long-press any button in the app to access Game Controller Learn alongside MIDI Learn. Full analog threshold support for triggers and thumbsticks.

Connect your controller

Setup

  1. Plug in your MIDI controller (USB or Bluetooth)
  2. Tap the MIDI icon (top bar)
  3. Select your device under "MIDI Controller"
  4. Choose a preset or map pads manually

MIDI Learn

Long-press any pad or button > select "MIDI Learn" > play a note on your controller. Done.

Pre-configured Controllers

TE EP-133 K.O. II Akai MPK Mini Akai APC40 Novation Launchpad Ableton Push Roland SP-404SX QWERTY Keyboard

EP-133 K.O. II Setup

The EP-133 has a dedicated preset with full integration:

Pad Mappings

EP-133 GroupNotesVKO BankPads
Group A36–47Bank A1–12
Group B48–59Bank B1–12
Group C60–71Bank C1–12
Group D72–83Bank D1–12

Button & Fader Mappings

EP-133 ControlVKO Action
Record buttonTape Record
Minus (-)Previous Effect
Plus (+)Next Effect
FaderMFX Dry/Wet (CC)

Transport sync: Set MIDI Clock to "out" on the EP-133 (System > code 102). Enable MIDI Clock Sync in VKO for BPM lock. Button/fader MIDI values are defaults — use MIDI Learn to remap if needed.

Knobs & Faders (CC Mapping)

  1. Open MIDI Settings > Knobs & Faders
  2. Tap "Learn" next to MFX Dry/Wet or Scratch Wheel
  3. Move a knob or fader on your controller
  4. The CC is now mapped

MIDI Action Mappings (35+ actions)

Open MIDI Settings > Advanced > Button Action Mappings to map MIDI notes to any app action:

Play/Pause Stop Bank Select Tap Tempo Cycle Effects Toggle Hold BPM ×2 / ÷2 Tape Record Tape Overdub Fullscreen Jogwheel

MIDI Clock Sync

Enable in MIDI Settings > Sync to synchronize playback to an external MIDI clock (24 PPQN). Start/Stop messages control VKO transport.

Main layout

+---------------------------------------------+ | VKO1 BPM 127 MIDI Files MEM TV [?] | < Top bar +---------------------------------------------+ | [Video Player Window - OUTPUT] | < Playing clip preview +---------------------------------------------+ | 1 2 3 4 | | 5 6 7 8 | < 4×4 Pad Grid | 9 10 11 12 | | 13 14 15 16 | +---------------------------------------------+ | [A][B][C][D][E][F][G][H] | < Bank Selection | [PLAY][REC][DIV][AUTO][HOLD] [MFX / JOG] | < Transport + Effects +---------------------------------------------+

Top bar icons

IconFunction
BPM displayTap to open BPM & Sync settings (tap tempo, MIDI clock, Ableton Link, beat detection)
MIDI plugOpen MIDI settings, device selection, and action mappings
FolderOpen media importer, bank folder mapping, and session manager
MEMMemory gauge — thermometer bar shows RAM usage. Tap for full breakdown.
TV / monitorExternal display output: HDMI start/stop, AirPlay, dual-device mode
?Quick reference card

MFX / JOG toggle

The bottom-right control switches between two modes via the pill button:

Fullscreen Mode

Tap the fullscreen icon in the video preview. Video fills the entire screen with audio EQ visualizers. Tap anywhere to show/hide controls. Tap X or press P on keyboard to exit.

Mac: Detached Video Window MAC ONLY

On Apple Silicon Mac, the video output window can be detached from the main app and moved to a second monitor or run side-by-side with your DAW. Drag the video preview out of the main window to float it independently. Resize it freely, send it fullscreen on an external display, or keep it as a floating window while the controls stay on your primary screen — no HDMI adapter or AirPlay required.

This is the cleanest Mac workflow: VKO1 controls on your laptop screen, video output fullscreen on a connected monitor or projector via USB-C/HDMI.

Send visuals anywhere

HDMI / USB-C

Connect via adapter. Tap TV icon > Start Output. Your device shows controls; external display shows clean video.

Dual-Device

Two iOS devices on the same Wi-Fi. One controls, one displays. ~50ms latency. Multipeer Connectivity.

HDMI Status Indicators

Dual-Device Setup

  1. Load the same content on both devices
  2. Device 1 (Controller): Tap Output > Controller Mode
  3. Device 2 (Display): Tap Output > Display Mode
  4. Look for "CONNECTED" status
  5. Optionally connect Display device to projector via HDMI

What Gets Synced

Works over Wi-Fi or Bluetooth, no internet required. Automatic reconnection.

Saving sessions

  1. Tap the folder icon (top bar)
  2. Tap "Session Manager"
  3. Type a session name
  4. Tap "Save Session"

Everything is saved: clips, mappings, effects, MIDI settings, trim points, speed, render mode, blend mode, volume, 3D animation presets, and tape recordings.

Load: Folder icon > Session Manager > tap a saved session > Load

Export/Share: Sessions are saved as .visualko files. Share via AirDrop, iCloud, or Files.

VKO1 Player

VKO1 Player is not VKO1. VKO1 is the standalone visual performance instrument app. VKO1 Player is a separate AUv3 audio plugin — it runs inside a host app (AUM, Logic Pro, Loopy Pro, GarageBand, Cubasis) and turns the audio passing through it into real-time GPU visuals.

What it does

VKO1 Player is an Audio Unit v3 (AUv3) extension. Load it on any audio channel and it listens to the audio flowing through. A real-time FFT and spectral-flux beat detector drive the same Metal shaders used in VKO1 — no video clips, no imports needed. Visuals appear in the plugin window inside your host and can be sent to an external display via HDMI or AirPlay.

Audio analysis

1024-point FFT runs every audio buffer. 32-bin spectrum, RMS energy, and spectral flux beat detection feed the shaders in real time.

BPM sync

BPM is read directly from the host transport every 2 seconds. No tap tempo needed — Logic, AUM, and Loopy Pro all supply it automatically.

Preset save

The host saves the active shader, palette, and all parameters with its session or preset. Reopen the project and visuals restore exactly.

Same shader library

Every pack you buy in VKO1 unlocks in VKO1 Player automatically via StoreKit — no second purchase.

Loading in AUM

  1. Tap + on any channel strip
  2. Select Audio Unit Extensions
  3. Find VisualKO → VKO1 Player
  4. Tap the plugin thumbnail to open the UI
  5. Route audio into the channel — the visualizer reacts immediately

In AUM the plugin window is narrow. VKO1 Player switches to a single-row compact strip: a mode-cycle pill on the left, a horizontal shader scroll, and a collapse chevron. Swipe horizontally on the canvas to cycle shaders; swipe vertically to cycle palettes.

Loading in Logic Pro

  1. Open a channel strip in the Mixer
  2. Click an empty slot in the Audio FX section
  3. Navigate to Audio Units → VisualKO → VKO1 Player
  4. Click the plugin name to open the full UI window
  5. Resize the window by dragging its corner — VKO1 Player adapts to any size

Logic supplies the session BPM to the plugin automatically. Parameters (Visualizer, Color, Complexity, Reactivity, Speed) appear in the automation lane and can be recorded or drawn.

Loading in Loopy Pro

  1. Open the Audio Routing panel
  2. Tap a channel's FX slot and choose Audio Unit
  3. Select VKO1 Player
  4. Tap Open UI to view the visualizer
  5. Use the fullscreen button in Loopy Pro to expand the plugin window

Other supported hosts

AUM Logic Pro Loopy Pro GarageBand Cubasis 3 ApeMatrix Audiobus 3 BeatMaker 3 NanoStudio 2

Any AUv3-compatible host works. The plugin window size adapts automatically — full controls in large windows, compact single-row strip in narrow strips.

Controls

ControlWhat it does
Shader picker (top rows)Switch between Built-In, Starter, shader packs, and custom Imports. Tap a pill to select.
Color palette (P1–P33)33 color palettes. Use the ‹ › arrows or swipe down on the canvas.
ComplexityScales geometric detail within the shader. Lower = cleaner; higher = denser.
ReactivityHow strongly audio energy drives the visuals. 0 = ambient; 1 = full response.
SpeedAnimation rate multiplier. 0.1× (slow drift) to 4×.
Playback modeLoop, Reverse, or Ping Pong. Controls direction of time-based animation.
Background colorColor picker dot in the mode row sets the shader background fill.

3D shaders

Switch to the 3D tab to access 3D shaders. Extra controls appear when a 3D shader is active:

Importing custom shaders

Tap Imports → Import (+) to load a .metal or .metalSource fragment shader. The compiler runs at load time. For 3D shaders, tap the cube icon next to the shader name to attach a .usdz, .obj, or .ply model file.

MIDI control

VKO1 Player accepts standard MIDI 1.0 messages from the host on any channel. No MIDI Learn setup required — the mappings are fixed:

MIDI messageAction
Note On (any velocity > 0)Switch visualizer (note number mod total count)
Program ChangeSwitch visualizer (program mod total count)
CC 1 — Mod WheelComplexity (0–127 → 0.0–1.0)
CC 7 — VolumeSpeed (0–127 → 0.1–4.0)
CC 11 — ExpressionReactivity (0–127 → 0.0–1.0)
CC 14Color palette (0–127 → palette 1–33)

In Logic Pro these parameters also appear in the automation lane for drawing or recording curves directly.

Shader packs

Packs bought in the main VKO1 app unlock here automatically — no second purchase. Free packs are always available.

PackCostContents
Built-InFreeCore GPU visualizer types (Waveform, Spectrum, etc.)
StarterFree24 shaders — Aurora, Digital Rain, Kaleidoscope, Neon Tunnel, and more
3DFreeLowpoly Rainbow, Modular Bloc — full 3D with mesh picker
Phosphor CultPaid (buy in VKO1)12 shaders — Arcade Idle, Circuit God, VHS Nightmare, and more
Alchemist SketchbookPaid (buy in VKO1)12 shaders — Da Vinci Astrolabe, Fourier Whiteboard, and more
Computer VeldPaid (buy in VKO1)12 shaders — DOS Boot, Flight Sim, Defrag, and more

Paid packs require opening VKO1 at least once. Free shaders (Built-In, Starter, 3D) are bundled inside VKO1 Player and work immediately. Paid packs are unlocked by reading a shared purchase record that the VKO1 app writes on first launch. If VKO1 has never been opened, the player falls back to querying StoreKit directly — which is unreliable on a fresh extension process and may show paid packs as locked. Fix: open VKO1 once, then return to your host.

Troubleshooting

"No clips appear after import"

"Auto-play doesn't start"

"MIX2 or BLEND blend modes are not changing"

"MIDI controller not detected"

"App crashes or quits unexpectedly"

"Video playback is choppy"

"External display shows UI elements"

Disable screen mirroring in Control Center. Use the built-in output feature via the TV icon.

Dual-Device Sync Issues

Common setups

DJ Set with Auto-Play

Import 8 folders (one per bank). Set BPM, enable Beat Detection, or use Ableton Link. Enable AUTO > MIX for fully automated visuals. Override manually anytime.

Hands-Free Layered Visuals (MIX2)

Load thematically grouped content into banks. Enable AUTO > MIX2. VKO1 keeps two clips layered and continuously remixes the blend mode — the look evolves without any intervention. Combine with master effects automation for a fully self-generating visual set.

Compositing with Effects Control (BLEND)

Dial in the exact master effects you want, then enable AUTO > BLEND. VKO1 keeps two clips layered and continuously cycles blend modes — but never changes your effects. Use this when you want evolving compositing textures while staying in control of the overall look and feel.

VJ + DJ with Ableton Link

DJ runs Traktor/Serato/Ableton with Link enabled. VJ runs VKO1 on iPad with Link enabled, outputting via HDMI. Tempo and beat sync automatically — no cables, no drift.

Live Performance with MIDI

Connect controller, select preset. Tap pads on hardware. Use fader for dry/wet, +/- for effects. Record with Tape.

Dual-Device Pro Setup

Load same content on both devices. Controller Mode on primary, Display Mode on secondary. HDMI to projector from display.

Loop Station Visuals

Start tape recording (REC). Perform a sequence. Stop — it loops. Overdub to layer more. Build up complex multi-layer performances.

Best practices

Performance

Use shorter clips (5-15 sec). GIFs loop seamlessly. Images are great for overlays. Trim clips to their best section.

Content Organization

Group by visual theme or energy level. 16 items per folder for 1:1 bank mapping. Mix content types.

MIDI Tips

EP-133: use the built-in preset. Launchpad/APC: grid mode. MIDI Learn is faster than manual mapping.

Auto-Play

1/16 = fast cuts, 1 bar = slow transitions. MIX respects "Exclude from AutoMix" effect settings. For MIX2 and BLEND, organize content so each bank has a consistent visual theme — same-bank pairing produces more coherent blend results. Choose BLEND over MIX2 when you've set specific master effects and don't want them touched during the set.