Overview
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, 51 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.
51 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+)
Getting Started
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)
- Long-press an empty pad
- Select "Import Media"
- 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.
Playback
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.
Editing
Clip trimming
Set in/out points on any clip to play only the section you want.
- Long-press a pad
- Select "Trim"
- Use the range slider to set in and out points
- Preview the trimmed section in real-time
- 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.
Organization
Using banks
8 banks (A-H) with 16 pads each = 128 total clips.
- Tap A through H to switch banks
- Swipe left/right on the pad grid to navigate
- Organize by mood, theme, or energy level
Example Setup:
A: Geometric
B: Nature
C: Glitch Art
D: Abstract
E: Typography
F: Organic
G: 3D Models
H: Retro
Controls
Touch gestures
| Gesture | Action |
| Tap pad | Play/switch to that clip |
| Long-press pad | Open pad menu (import, trim, settings, effects, MIDI learn, delete) |
| Swipe left/right | Navigate between banks A through H |
| Drag up/down on knob | Adjust effect intensity (dry/wet) |
| Long-press knob | Open effect picker |
| Long-press effect in picker | Add/remove from favorites, exclude from AutoMix |
| Tap < > arrows | Cycle through effects |
| Tap bank buttons | Switch banks directly |
| Tap BPM display | Open BPM & Sync settings |
| Drag pad to another pad | Move clip to new slot |
| Drag pad + hold on destination | Copy clip (duplicate with all settings) |
| Drag from Files / Photos | Drop directly onto any pad to import |
| Drag pad to another app | Export 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.
Master Effects
51 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.
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.
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.
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
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
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
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.
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.
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.
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.
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.
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
Generative Visuals
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:
| Type | Switch between all 25 visualizer types without removing the pad |
| Palette | Pick from 33 color palettes |
| Reactivity | How strongly the visualizer responds to audio (Low / Medium / High / Max) |
| Complexity | Detail level from minimal to maximum (affects layer count, particle density, etc.) |
Visualizer Types
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 Strength | Impulse on each detected beat — triggers flashes, particle bursts, speed boosts |
| Energy | Overall audio loudness — drives continuous animation speed, brightness, particle velocity |
| Beat Phase | Position 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 Effects | All 51 effects apply to visualizers (kaleidoscope, glitch, feedback, etc.) |
| Per-Pad Effects | Long-press the pad to assign a per-clip effect that stacks with the master |
| Blend Modes | Additive, multiply, screen, difference — layer visualizers with video clips |
| Opacity | Adjust per-pad opacity for layering |
| AutoMix | Visualizer pads are included in MIX, SEQ, RND, and SHF rotation |
| Sessions | Full 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.
Generative Visuals
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 plus custom Metal shaders. Each generator has its own palette, complexity, and reactivity controls.
Modifiers
Transform a layer — color controls, affine transform (rotate, 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.
Content
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.
Recording
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
- Pad on/off triggers
- Effect type changes
- Effect intensity (knob automation at ~15Hz)
- Bank changes
- Hold mode toggles
- Jogwheel scratch (engage, release, rate)
Tape Library
Long-press REC to access saved tapes. Each tape has a unique color and icon. Tapes persist across sessions.
Scratch
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
- Touch the wheel — instantly freezes playback (like hand on vinyl)
- Rotate — scrub forward/backward through the clip
- Release — playback resumes
- Works with video clips and GIFs (frame-level scrubbing)
- Haptic feedback every 15 degrees of rotation
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
- Open MIDI Settings > Knobs & Faders > tap "Learn" next to Scratch Wheel
- Move a knob on your MIDI controller
- Center (64) = stopped, 0 = full reverse, 127 = full forward
- Auto-engages when you move the knob, auto-releases at center
- Deadzone (60-68) prevents jitter
Performance
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.
Reading the gauge
The vertical bar fills from the bottom. Color changes automatically as usage climbs:
| Color | Usage | Meaning |
| Green | Below 35% | Plenty of headroom. Load freely. |
| Orange | 35–55% | Getting full. Avoid adding many more heavy clips. |
| Red | Above 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:
- App footprint — total physical RAM used by the process, in MB and as a proportion of device total.
- Reverse frame cache — how much of that memory is used by pre-decoded video frames (reverse / ping-pong playback). Shows MB used and how many clips are cached.
- Warning tip — appears at high usage with advice to reduce clip count or switch to forward-only playback modes.
What fills memory
Regular forward playback is streamed and uses minimal RAM. Memory usage climbs when:
- Reverse or Ping-Pong playback mode is active on a clip — all frames must be decoded in advance and held in memory for smooth reverse scrubbing.
- High-resolution source videos (1080p/4K) with many frames — each frame at 1080p uses ~8 MB. VKO1 caps each clip at 256 MB of decoded frames automatically.
- Many clips loaded across all banks simultaneously.
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.
Tempo
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:
| Genre | BPM Range |
| Any | 60–200 |
| Hip Hop | 70–105 |
| Reggaeton | 88–104 |
| House | 118–135 |
| Techno | 125–155 |
| D&B | 160–190 |
| Dubstep | 135–150 |
| Pop | 95–135 |
| Rock | 100–145 |
Network Sync
Ableton Link
Ableton Link synchronizes tempo, beat, and phase across multiple devices and apps on the same local network. Every Link-enabled app shares one unified timeline — no master/slave, no cables, no configuration.
What is Ableton Link?
Link is a protocol by Ableton that keeps apps in sync over Wi-Fi. When enabled, all Link peers on the network agree on a shared tempo and beat grid. If one app changes tempo, all others follow instantly. VKO1 uses Link to sync visual playback with your music apps.
Compatible Apps
Ableton Live
Traktor
Serato DJ
djay
Reason
Maschine
Bitwig Studio
Logic Pro
Koala Sampler
AUM
Drambo
And hundreds more. Any app with Ableton Link support works with VKO1.
How to Enable
- Tap the BPM display to open BPM & Sync settings
- Under Sync Source, select "Ableton Link"
- Or toggle the Ableton Link switch in the dedicated section below
- A status indicator shows connection state:
- Green circle — Connected to peers
- Orange circle — Searching for peers on the network
- Enable Link in your other apps (Ableton Live: Link button in top bar, Traktor: Preferences > Link)
How It Works
Shared Tempo
All peers agree on one BPM. Change tempo in VKO1 or any other Link app — everyone follows. No master device needed.
Beat & Phase Sync
VKO1 reads beat position and phase from the Link session. Clip switches and effect animations lock precisely to the shared beat grid.
Zero Config
No IP addresses, no pairing. All devices on the same Wi-Fi network discover each other automatically via multicast UDP.
Peer Count
The BPM settings screen shows how many Link peers are currently connected. The Link tempo display shows the shared session BPM.
Network Requirements
- All devices must be on the same Wi-Fi network
- The network must allow multicast/broadcast UDP traffic (most home and studio networks do)
- Corporate or venue networks sometimes block multicast — use a portable router or hotspot if Link can't find peers
- No internet connection required, just local network connectivity
Pro Tip: For rock-solid sync at a gig, bring a dedicated portable router. Connect your laptop and iOS devices to the same network. Link works over any local network — even a phone hotspot.
Typical Setup
- Laptop running Ableton Live / Traktor / Serato with Link enabled
- iPad / iPhone running VKO1 with Link enabled, outputting visuals via HDMI or AirPlay
- Both on the same Wi-Fi — visuals automatically sync to the DJ’s tempo and beat grid
The DJ changes BPM in their software — VKO1 follows instantly. Clips switch and effects animate precisely on beat. No MIDI cables, no manual BPM entry, no drift.
3D Content
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.
Keyboard
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
| Key | Action |
| Space | Play / Stop |
| Escape | Clear all (pads + effects) |
| H | Toggle Hold mode |
| G | Toggle MFX / Jogwheel |
| N | Toggle Random mode |
| B | Toggle Beat Detection |
| P | Toggle Fullscreen |
| J | Cycle Auto-Play Mode |
| K | Cycle Time Division |
| L | Cycle Pads 1–16 |
| M | Clear Master Effect |
| T | Tape Record (toggle) |
| Y | Tape Play (toggle) |
| U | Open Tape Editor |
| < > | Previous / Next Master Effect |
| Up / Down | BPM +1 / -1 |
| Tab / Shift+Tab | Next / Previous Bank |
Game Controllers
Xbox. PlayStation. MFi.
Connect any Bluetooth game controller for hands-free visual performance.
Xbox Wireless
DualSense (PS5)
DualShock 4 (PS4)
MFi Controllers
Default Mapping
| Button | Action |
| A / Cross | Play/Stop pad at cursor |
| B / Circle | Cycle Auto-Play Division |
| X / Square | Toggle Hold |
| Y / Triangle | Cycle Auto-Play Mode |
| D-pad | Navigate pad grid cursor |
| L1 / R1 | Previous / Next Bank |
| L2 / R2 | MFX intensity (analog) |
| Right Stick | Jogwheel scratch |
| Menu / Start | Play / Pause |
| Options | Cycle 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.
MIDI
Connect your controller
Setup
- Plug in your MIDI controller (USB or Bluetooth)
- Tap the MIDI icon (top bar)
- Select your device under "MIDI Controller"
- 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 Group | Notes | VKO Bank | Pads |
| Group A | 36–47 | Bank A | 1–12 |
| Group B | 48–59 | Bank B | 1–12 |
| Group C | 60–71 | Bank C | 1–12 |
| Group D | 72–83 | Bank D | 1–12 |
Button & Fader Mappings
| EP-133 Control | VKO Action |
| Record button | Tape Record |
| Minus (-) | Previous Effect |
| Plus (+) | Next Effect |
| Fader | MFX 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)
- Open MIDI Settings > Knobs & Faders
- Tap "Learn" next to MFX Dry/Wet or Scratch Wheel
- Move a knob or fader on your controller
- 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.
Interface
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
| Icon | Function |
| BPM display | Tap to open BPM & Sync settings (tap tempo, MIDI clock, Ableton Link, beat detection) |
| MIDI plug | Open MIDI settings, device selection, and action mappings |
| Folder | Open media importer, bank folder mapping, and session manager |
| MEM | Memory gauge — thermometer bar shows RAM usage. Tap for full breakdown. |
| TV / monitor | External 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:
- MFX mode — shows the Master Effect knob. Drag up/down to adjust intensity. Long-press to open the effect picker. Tap < > arrows to cycle effects.
- JOG mode — replaces the knob with a touch jogwheel for scratching. Tap the wheel to freeze playback; rotate to scrub.
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.
Output
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
- Dimmed — No display connected
- Orange dot — Display connected, output disabled
- Green dot — Output active
Dual-Device Setup
- Load the same content on both devices
- Device 1 (Controller): Tap Output > Controller Mode
- Device 2 (Display): Tap Output > Display Mode
- Look for "CONNECTED" status
- Optionally connect Display device to projector via HDMI
What Gets Synced
- Active clips, bank selection, BPM, effects, intensity
- Playback state, auto-play mode and division
- Clip settings (speed, render mode, blend mode, volume)
- Hold mode state
Works over Wi-Fi or Bluetooth, no internet required. Automatic reconnection.
Persistence
Saving sessions
- Tap the folder icon (top bar)
- Tap "Session Manager"
- Type a session name
- 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.
Help
Troubleshooting
"No clips appear after import"
- Check format: MP4, MOV, M4V, GIF, PNG, JPG, JPEG, HEIC, USDZ, OBJ
- Try importing to a specific pad (long-press > Import)
"Auto-play doesn't start"
- Make sure AUTO is enabled (shows SEQ/RND/SHF/MIX/MIX2/BLEND)
- Check that clips are loaded and BPM is set
- If using Beat Detection, make sure audio is present and transport is on Play
"MIX2 or BLEND blend modes are not changing"
- Both modes require at least two clips to be active — the second layer builds automatically after the first trigger, so blend changes begin from the second clip switch onward
- Check that Blend Mode Automation is enabled in BPM Settings > AutoMix Options
- Blend mode changes fire at 40% probability per trigger — some beats will pass without a change by design
- Changes are suppressed when the performance guard is at minimal level (thermal stress or low FPS)
- In BLEND, master effects are never automated — if your effects are changing, you are in MIX2, not BLEND
"MIDI controller not detected"
- Check USB/Bluetooth connection
- Go to MIDI Settings and tap "Scan for Devices"
- Some controllers need to be in "USB MIDI mode"
"App crashes or quits unexpectedly"
- Watch the MEM gauge — if it is orange or red before the crash, memory pressure is the cause
- Avoid loading very long high-resolution clips (1080p, 120+ seconds) in Reverse or Ping-Pong playback mode; trim them first
- Switch heavy clips to Forward-only playback to avoid pre-decoding all frames
- Close background apps to free system RAM before starting a performance
"Video playback is choppy"
- Try lower resolution clips (720p is usually sufficient for projected output)
- Close other apps
- Reduce simultaneous effects
"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
- Can't enable modes: Check Local Network permission in iOS Settings > VKO1
- Won't connect: Both devices must be on the same Wi-Fi. Try Controller Mode first
- Keeps dropping: Stay within 30 feet. Check Wi-Fi signal
- Doesn't sync: Both must show "CONNECTED" with matching content at same pad positions
Workflows
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.
Tips
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.