User Manual
CHOPPL
by positiveppl
Visual drum machine and video sampler. Load clips, slice them into pads, build patterns, apply visual effects, and export as MP4 — all in the browser.
Browser-based
No install (Lite)
MP4 export
MIDI + OSC
Mac app (Pro)
CHOPPL runs entirely in your browser — no install, no plugins, no account required for Lite. The app is organized into a tab bar. Tap MORE to access a secondary set of tabs.
Two Versions
CHOPPL Lite
Free · try.choppl.com
Core pads (up to 8), sequencer, FX, and export. Lite exports include a watermark. No MIDI Learn, Audio Routing, or Layers.
CHOPPL Pro
One-time purchase · Native Mac app
Full feature set — 16 pads, all pattern banks, MIDI, OSC, Audio Routing, Layers, Scenes, Syphon In/Out, Archive Pads, and clean watermark-free exports. Works fully offline. Audio and video continue playing when the window is minimized.
Navigation
The main tab bar runs across the top: LIB · PADS · TRACK · MIDI · SCENES · LAYERS · REC. Tapping MORE opens a dropdown panel with secondary tabs: SEQ · DJ · AUDIO · FX · VFX · OVERLAY · HELP. SLICE lives inside LIB as a sub-view — tap the SLICE button within LIB to switch into the slicer.
| LIB | Clip library and media storage. Hosts the SLICE slicer as a sub-view. |
| PADS | Drum pad grid — the main performance surface. |
| TRACK | Backing track loader with BPM detection and key matching. |
| MIDI | MIDI controller setup, monitor, and MIDI Learn. Pro only. |
| SCENES | Scene snapshots — save and recall full session states. Pro only. |
| LAYERS | Multi-layer visual compositing. Pro only. |
| REC | Record and export session as MP4. |
| MORE → SEQ | Step sequencer and pattern programming. |
| MORE → DJ | Ableton Link BPM sync and beat-pulse auto-triggering. Pro only. |
| MORE → AUDIO | Audio analysis and beat-reactive visual routing. Pro only. |
| MORE → FX | Global audio FX chain — master, drive, EQ, delay. |
| MORE → VFX | Animated visual effects — scanlines, glitch, bloom, feedback, tile, and more. |
| MORE → OVERLAY | Static output branding — border, text burn, REC bug, logo watermark. |
| MORE → HELP | Quick start guide and integration setup. |
Keyboard Shortcuts
| A S D F | Pads 1–4 |
| G H J K | Pads 5–8 |
| Z X C V | Pads 9–12 |
| B N M L | Pads 13–16 |
| Space | Play / Stop sequencer |
Your media storage. All clips live here first. In the Pro app, clips are stored in the app's own data folder on disk — safe from browser cache clearing. In Lite, clips are stored in your browser's IndexedDB and will be lost if you clear site data.
Loading Clips
- Tap the drop zone or drag files directly onto it. Accepted: video (MP4, MOV, WebM), audio (MP3, WAV, AAC, FLAC, M4A), and images (PNG, JPG, SVG).
- Multiple files can be loaded at once.
- CHOPPL auto-detects the musical key and BPM of audio and video clips on load.
- Use the search field to filter clips by name. Use the filter buttons to narrow the view.
Library Filters
| ALL | Shows every clip in the library. |
| VIDEO | Video clips only. |
| AUDIO | Audio-only clips. |
| MIXED | Clips created by combining a video and audio source via SWAP VIDEO / SWAP AUDIO + SAVE AS NEW CLIP. |
| IMAGES | Image pads (PNG, JPG, SVG). |
| CREATED | Clips generated via Create Pad. |
| TAGGED | Shows only clips that have at least one tag. Appears once any clip has been tagged. Clicking TAGGED expands the tag chip row — select one or more tag chips to narrow further. Multiple tag chips narrow to clips matching all selected tags. |
Library Card Right-Click Menu
Right-click (or long-press on touch/trackpad) any library card to open a CHOPPL-styled context menu with the following options:
| LOAD TO PAD | Enters pad-select mode — tap any pad to assign this clip. |
| PREVIEW | Plays the clip in the monitor without leaving the library. |
| TAGS | Opens the tag editor for this clip. Available tags: LOOP, ONE-SHOT, NOISE, TEXTURE, VOCAL, FX, TV/MOVIE, ARCHIVE, RAW. Clips can have multiple tags. Tags are saved to choppl-tags.json. Lite can read existing tags but cannot write them — tagging is Pro-gated. |
| RENAME | Starts inline filename editing for this card. Pro only. |
| DELETE | Removes the clip after confirmation. For archive clips, also removes the file from the archive folder and cleans up its tag entry. Pro only. |
Archive Clips
- Archive imports are saved as
archive-{keyword}-{YYYYMMDD}-{HHmmss}.mp4 and automatically tagged ARCHIVE in the same save flow.
- Archive clip titles use the archive filename so searching
archive finds them immediately.
General
- Tap any clip to preview it in the monitor.
- To assign a clip to a pad: right-click → LOAD TO PAD, or tap SELECT on the clip — the app navigates to PADS. Tap any pad (loaded or empty) to assign the clip. Loaded pads are hot-swapped instantly without stopping other pads.
- CLEAR (top right) wipes the entire library.
Special Pad Types
| + CREATE PAD | Opens the clip designer — build a visual pad with a custom background (solid, gradient), text (font, size, color, stroke), and pad type. The layout is a compact one-page workflow: Generate is at the top, Color A and Color B share a row, position controls are grouped with background/color, and the preview stays visible while settings scroll. Generated clips are saved as static image clips for lighter playback performance. Supports custom font import (.ttf, .otf) — imported fonts persist across sessions and appear in the font dropdown as Custom: Font Name. Pro only. |
| + IMAGE PAD | Opens a file picker (PNG, JPG, SVG). A preview sheet opens with live controls: Scale, Opacity, Rotation, Blend Mode, and Quick Filters (B&W, Invert, Sepia, Warm, Cool). Images render at full resolution and always fill the canvas edge to edge with no black bars. Click and drag in the preview to pan and reposition — pan controls allow intentional off-canvas positioning to reveal the selected background color. SAVE is in the main control area. Pro only. |
| + CAMERA PAD | Creates a live camera input pad. The pad streams from a connected camera device with no audio. |
| + SYPHON PAD | Appears when a pad is selected. Connects to any Syphon source running on the machine — TouchDesigner, Resolume, Ableton plugins (e.g. Zwobot), OBS. The pad shows a live thumbnail with a pulsing amber dot. Assignments persist across sessions and auto-reconnect on boot. If the source goes offline, the pad shows a grey indicator but keeps the assignment. Pro · macOS only. |
| + ARCHIVE PAD | Opens the Prelinger Archives importer — search Archive.org by keyword, preview clips, set IN/OUT points, and tap IMPORT CLIP to download and trim. Archive clips are stored in a dedicated folder on disk and persist independently. Archive imports are saved as archive-{keyword}-{YYYYMMDD}-{HHmmss}.mp4 and automatically tagged ARCHIVE. Pro · Mac app only. |
All modal sheets and pop-up panels can be dismissed by clicking the dark backdrop outside the panel — no need to scroll to find the close button.
Accessed via the SLICE button inside LIB. Chop a single clip into regions and send them directly to pads — the fastest way to build a playable kit from a music video or long sample.
Controls
| Source | Select which library clip to slice. Video clips render as a filmstrip; audio-only clips render as a waveform. |
| Slices | How many equal slices to cut: 4, 8, 12, or 16. |
| AUTO | Divides the clip into equal regions and places markers automatically. |
| CLEAR MARKERS | Removes all slice markers at once. |
| TO PADS | Sends all sliced regions to pads and decodes audio for each slice. |
| LIBRARY | Returns to the main LIB view. |
Manual Markers
- Tap anywhere on the filmstrip to drop an amber slice marker.
- Drag existing markers to reposition them.
TO PADS — Smart Fill
- First looks for a consecutive run of N empty pads and fills from there.
- If no consecutive run exists but N or more empty pads are scattered, a confirm dialog appears. Confirming fills whatever is open in index order.
- If the current bank doesn't have enough empty pads, CHOPPL automatically searches across all banks — a 16-chop session will spread across Bank A and Bank B if needed.
- If there are zero empty pads across all banks, the operation is cancelled.
Stack multiple sliced clips across banks — slice 8 clips to Bank A, switch to Bank B, load a second clip and slice 8 more. Full 16-pad performance across two banks.
The main performance surface. Trigger pads by tapping, keyboard shortcuts, or MIDI notes. All pads play simultaneously by default — use Choke Groups to make pads cut each other.
Pad Count & Banks
- 8 / 12 / 16 buttons set how many pads are visible. Lite: 8 only.
- BANK ◀ / BANK ▶ or the bank letter buttons switch between pad banks. Each bank is an independent grid of 16 pad slots.
Toolbar Buttons
| AUTO LOOP CLIPS | When on, a pad loops until STOP is pressed. Toggle off for one-shot playback. |
| LAYERS ON / CLASSIC ONE CLIP | Switches between multi-layer compositing mode and single-clip mode. |
| AUTO FILL PADS | Assigns library clips to pads in order. |
| FRESH RANDOM KIT | Picks a completely new set of random clips from your library for all pads. MIDI-learnable. |
| RANDOMIZE KIT | Re-randomizes assignments using the current library. MIDI-learnable. |
| SHUFFLE PAD CLIPS | Swaps clips between pads without removing any. MIDI-learnable. |
| RANDOMIZE PAD LAYERS | Randomizes the layer clips across all pads. Does not affect audio envelope settings. MIDI-learnable. |
| MATCH KEYS | Finds the most common key across loaded pads (confidence ≥ 40%) and pitch-shifts all others to match. Low-confidence clips like speech and dialogue are excluded. |
| MUTE ALL AUDIO | Silences all pad audio globally without stopping visual output. |
| CLEAR PADS | Removes all clip assignments from the current bank. Shows a confirm modal — tap Confirm to proceed. |
Hot-Swap During Performance
To swap a clip onto a pad mid-set: go to LIB, tap SELECT on the clip you want, then tap any pad — even a loaded one. The clip replaces whatever was there instantly without interrupting other pads.
MIDI Quick Control
A compact MIDI base note slider sits at the bottom of the PADS view and in the bottom status bar. Default is 36 (C1 in GM / C2 in Ableton naming). Pads map chromatically upward from the base note.
Tap the gear icon on any loaded pad to open its settings sheet. Settings are organized into sections. The Advanced section is collapsed by default — tap it to expand. Changes apply immediately. Tap DONE to close.
Clip Section
| Clip info | Shows the pad name and source — VIDEO and AUDIO file names are shown separately, which is useful after a swap. |
| SWAP VIDEO | Opens the library in swap mode — select a video clip to replace the pad's video source while keeping the existing audio. Available on standard video/audio pads; not available on camera, Syphon, text, or image pads. |
| SWAP AUDIO | Opens the library in swap mode — select an audio clip to replace the pad's audio source while keeping the existing video. |
| SAVE AS NEW CLIP | Appears after a SWAP. Saves the current video + audio combination as a MIXED clip in the library for reuse. |
Trim Section
| Bar Length | Snap the play region to 1, 2, 4, or 8 bars at the current BPM. FULL CLIP plays the entire clip. After a SWAP, video and audio have independent Bar Length and Start controls. |
| Start | Playback start point within the clip. The selected time is shown as a readout, e.g. 3.44s. |
| End | Playback end point. The selected time is shown as a readout, e.g. 7.01s. Total selected duration is displayed next to the range. |
The Trim Window control has been removed. Start and End are now independent sliders with a clear selected-range readout showing the exact clip region in use.
Playback Section
| Volume | Per-pad volume 0–150%. |
| Speed / Pitch | Semitone shift from -12 to +12. Adjusts both audio and video playback rate together. Displayed as a key name when a source key is detected. Changes apply live without restarting pad playback. |
| Pitch / Key | Camelot wheel view for selecting the target key for this pad. Shows the pad key, track key, and compatible/overlapping Camelot keys highlighted. Supports major and minor key selection. |
| LOOP | Loops this pad continuously. For sliced pads, the loop stays inside the sliced range. |
| AUDIO LINGER | Audio continues playing after the visual ends. Respects sliced pad length. When LOOP is also on, audio can loop within the slice. Retriggering a lingering slice recouples the visual to the current audio position. Also accessible from the pad right-click menu. |
| VIDEO ONLY | Plays the visual without triggering audio. Also accessible from the pad right-click menu. |
| MUTE | Silences audio for this pad while keeping the visual active. |
Pad Right-Click Menu
Right-click (or long-press) any pad for faster per-pad performance controls without opening the full settings sheet. Includes: AUDIO LINGER toggle and VIDEO ONLY toggle.
Visual Section
| Look | Visual filter applied to the clip in the monitor. Options: RAW, VHS, NOIR, ACID, BLOOM, GLITCH, HEAT, MONO. |
| Transition | How the clip cuts or blends when triggered. Options: CUT, FLASH, ZOOM, SMEAR, ROLL, SHUTTER. |
| Layer | Which compositing layer this pad occupies when Layers mode is on. |
| Choke Group | Assign to group A, B, C, or D. When this pad fires, all other playing pads in the same group stop audio (6ms fade). Choke groups are audio-only — visual layers continue blending while choked pads' audio stops. Pads with no group play independently. |
| LOCK POSITION | Image pads only. Freezes the image's pan/position regardless of the global AUTO DRIFT setting. When off, the image drifts with AUTO DRIFT enabled. |
Advanced Section (tap to expand)
| Clip BPM | Shows detected BPM of the source clip. Updates reactively as you adjust Speed / Pitch, showing the effective BPM at that rate. Edit manually if detection is off. |
| Source Key | Detected musical key of the clip. Override manually if needed. Used by MATCH KEY and MATCH KEYS. |
| Fade In | Attack time in ms — how long the pad takes to reach full volume and opacity from silence. |
| Hold | How long the pad stays at full volume and opacity before starting to fade out. |
| Fade Out | Release time in ms — how long the pad takes to fade to silence and invisible after the hold phase. |
| LOOP VISIBLE / ONE-SHOT FADE | Toggles the opacity envelope mode. LOOP VISIBLE keeps the pad at full opacity while playing. ONE-SHOT FADE runs the Fade In → Hold → Fade Out envelope once per hit. ONE-SHOT FADE shows a clear active label (ONE SHOT FADE ON) and sets practical default fade values when enabled manually. Moved next to the fade controls. |
| MATCH KEY | Pitch-shifts this pad to match the loaded track's key. Button is active only when both the track and pad have detected keys. |
| Velocity Curve | Per-pad velocity response curve: Linear, Exponential, or Logarithmic. Applied when Velocity Override is on. |
| Low Velocity Opacity | Minimum visual opacity at the lowest MIDI velocity. |
| High Velocity Opacity | Maximum visual opacity at the highest MIDI velocity. |
| VFX Intensity | Scales how strongly MIDI velocity drives visual effect intensity for this pad. |
| VELOCITY ON / OFF | Enables or disables velocity sensitivity for this pad. Grouped together with VELOCITY OVERRIDE and SCALE RESPONSE in the velocity section. |
| VELOCITY OVERRIDE | When on, this pad uses its own Velocity Curve setting instead of the global MIDI setting. Grouped in the velocity section. |
| SCALE RESPONSE | When on, velocity also scales the visual size of the pad hit. Grouped in the velocity section. |
| Random FX On Hit | Assign any VFX (SCAN, GLITCH, BLOOM, VHS, STUTTER, KALEIDO, FEEDBACK, TILE GRID) to trigger momentarily each time this pad fires, independent of global VFX toggles. |
Bottom Buttons
| TEST | Plays the pad once for audition without closing the sheet. |
| STOP CLIP | Stops playback of this pad. |
| RESET PAD | Resets all pad settings to defaults. Keeps the current clip loaded. |
| CLEAR PAD | Full wipe — removes the clip assignment and resets all settings. |
Fade In, Hold, and Fade Out apply to both the audio gain envelope and the visual opacity envelope simultaneously when ONE-SHOT FADE mode is active.
Load a full audio file to play behind your pads. Syncs with the sequencer transport and runs through the master audio FX chain.
Loading a Track
- Tap the waveform area (when empty) or the LOAD button to open a file picker. Accepted: MP3, WAV, AAC, M4A, FLAC.
- You can also drag an audio file directly onto the waveform area.
- Once loaded, the waveform renders — tap anywhere on it to seek.
- CLEAR (top right) removes the track and resets the area.
Controls
| Volume | Track volume 0–150%, independent of master. |
| LOOP | Loops the track continuously (default on). |
| Detected BPM | Auto-detected from the track using onset autocorrelation. Shown next to 1/2 and ×2 buttons. |
| 1/2 · x2 | Halves or doubles the detected BPM to fix octave errors in detection. |
| USE BPM | Snaps the global sequencer BPM to the detected track tempo. |
| Key | Detected musical key. Override manually via the dropdown if needed. |
| MATCH ALL PADS | Pitch-shifts all loaded pads to match the track key. Requires a track with a detected key. For key matching without a track, use MATCH KEYS in the PADS toolbar. |
Connect a MIDI controller to trigger pads, switch banks, load scenes, toggle effects, and control parameters live. Requires Chrome or Edge. Enable MIDI via the MIDI pill in the bottom status bar.
MIDI Monitor
| Input Device | Select which MIDI device to listen to. "All inputs" listens to everything connected. |
| Base Note | Sets the MIDI note number that maps to Pad 1. Default 36 (C1 GM / C2 Ableton). Pads map chromatically upward. |
| Velocity Sensitivity | On / Off. When on, MIDI velocity drives volume and visual intensity. |
| Default Velocity Curve | Global velocity response: Linear, Exponential, or Logarithmic. Individual pads can override this. |
| PAUSE LOG / CLEAR LOG | Controls the live MIDI activity log shown below. |
MIDI Learn
Click LEARN, move a physical control, then select the Action to assign it to and click SAVE MAPPING. Mappings persist across sessions.
| Group | Actions |
| Transport | Start/stop recording, Blackout, Previous/Next pad bank, Load pad bank |
| Pads | Trigger pad, Stop pad audio, Toggle pad mute |
| FX | Trigger effect, Toggle effect, Toggle strobe, Change opacity / speed / scale / rotation |
| Kit | Randomize pad layers, Shuffle pad clips, Randomize kit, Fresh random kit, Randomize layers |
| Scenes | Trigger scene |
| DJ Mode | DJ Mode on/off, Pulse Forward/Reverse/Random, Hold Pad, Blackout (DJ), Transition Style, BPM ×2, BPM ÷2 |
Mode options per mapping: Trigger (fires on each message), Toggle (alternates on/off), Momentary (on while held, off on release).
Mappings
All saved mappings are listed here. CLEAR removes all mappings at once.
Save and recall full session snapshots — pads, patterns, VFX settings, and more. Useful for switching between different visual setups mid-set.
- Type a name and tap SAVE NEW to create a snapshot.
- UPDATE ACTIVE overwrites the current scene with your current state.
- Tap any scene in the list to load it.
- IMPORT JSON / export scenes as JSON for backup or sharing between sessions.
Scenes can also be triggered via MIDI using the "Trigger scene" MIDI Learn action.
Stack multiple clips on top of each other in the visual output, each with its own blend mode, opacity, scale, position, and speed. This is what makes CHOPPL a full VJ tool.
How Layers Work
- When Layers mode is on, each pad routes to a specific compositing layer (1–4). Triggering the pad plays its clip on that layer simultaneously with other active layers.
- Choke groups are audio-only — visual layers continue blending while choked pads stop audio.
- The Layer setting in each pad's settings sheet determines which layer it occupies.
- LAYERS ON / CLASSIC ONE CLIP toggles modes. Classic mode plays one clip at a time, replacing the previous.
- Each pad bank preserves its own layer settings. Switching banks restores that bank's saved layer look — randomized layer looks can differ per bank.
- Layer buttons now show the current opacity percentage and blend mode at a glance.
Layer Controls
Each layer has its own Opacity, Blend Mode, Scale, X/Y position, and Speed multiplier. Changes apply in real time.
Layer Presets
| RANDOM | Randomizes each layer's clip assignment. |
| CHOP | Three layers configured for classic chop layering: Main clip, Drift layer (screen blend), and a slow Wash layer (overlay blend). |
| DJ DECKS | Four layers: Deck A (left), Deck B (right), Cuts (add blend), Logo/Text. Useful for DJ visual sets. |
| REELS | Four layers optimized for short-form content: Hero, Glow (screen), Punch In (add), Caption/Frame. |
| MINIMAL | Main, Accent (screen, 35% opacity), Quick Hit (lighten), and a spare hidden layer. |
| CHAOS | Four layers with difference/add/overlay blends at various rotations and scales for maximum visual chaos. |
| BLACKOUT | Main clip, Accent, Black Hits layer, and an emergency spare. |
| SPLIT | Left and right offset layers with a center hits layer — split-screen compositing. |
RANDOMIZE LAYERS randomizes layer clip assignments across all pads. It does not affect audio envelope settings. MIDI-learnable — right-click to assign ungated, long-press to assign gated/momentary.
Captures your session as a video file — visual canvas plus audio output, synchronized from the first pad hit.
Aspect Ratio
| 9:16 | Vertical — TikTok, Instagram Reels, YouTube Shorts. |
| 1:1 | Square — Instagram feed. |
| 16:9 | Horizontal — YouTube, desktop, widescreen. |
Quality
| Standard | 30fps, balanced bitrate. Smallest file. Good for most sharing. |
| High | 30fps, higher bitrate. Sharper image. |
| Ultra | Maximum quality at 30fps. Best for archiving. |
| MAX | 60fps, highest bitrate. Smoothest motion. Largest file, most CPU. |
Lite exports include a CHOPPL Lite watermark. Pro exports are clean. Enabling overlays in the OVERLAY tab adds them to all exports regardless of tier.
Recording Flow
- Tap START — sequencer and backing track start and sync automatically.
- Play pads live while recording to add hits over the pattern.
- Tap STOP in the top bar to end. The sequencer and track stop automatically.
- A download link appears in the Exports list when processing completes.
- CHOPPL prefers browser-native MP4 encoding, with WebM fallback. ffmpeg.wasm converts WebM to MP4 in the background on first use (10–30 seconds to load from CDN).
- CLEAR (top right in the Exports section) removes all export links.
Syphon Out PRO · macOS
The SYPHON OUT toggle broadcasts CHOPPL's monitor canvas as a Syphon server named "CHOPPL". Any Syphon-compatible app on the same machine can receive the feed in real time. Works simultaneously with recording.
| OBS | Use the OBS Syphon plugin — add a Syphon source and select "CHOPPL". |
| Resolume | Syphon Input source in the media panel. |
| MadMapper | Syphon input in the media sources panel. |
| VDMX | Add a Syphon source layer and select "CHOPPL". |
Programs pads to fire automatically on a rhythmic grid. Steps can be toggled freely during playback — changes take effect immediately on the next loop pass.
Controls
| Pattern buttons (A–D) | Four independent patterns, each with its own step data. Switch freely during playback. |
| CLEAR PATTERN | Hold for 1.5 seconds to clear all steps in the current pattern. A fill animation shows progress — release early to cancel. |
| Swing | Delays odd steps to create a shuffled feel. 0% = straight grid. |
| BPM slider | Global tempo 60–200 BPM. Also visible as a persistent slider in the bottom status bar. |
| Space bar | Play / Stop from anywhere in the app. |
Syncs CHOPPL Pro to any Ableton Link session on the same network — including Ableton Live directly — and drives a continuous visual pulse through your pads, locked to the beat.
Ableton Link
Ableton Link is an open protocol that syncs BPM and beat phase across multiple apps on the same WiFi network — peer-to-peer, no setup required. When DJ Mode is active and Link detects a peer session, CHOPPL's BPM updates in real time to match the master tempo.
| Ableton Live | Native Link support. Also supports OSC via the Max for Live device. |
| Rekordbox | Enable in Preferences → Link/MIDI. |
| Traktor | Enable in Preferences → Transport. |
| Serato | Supported in recent versions. |
| djay Pro | Native Link support. |
Link Status
| LINK OFF | DJ Mode is off. Link is not initialized. |
| LINK READY | DJ Mode is on, Link is running, no peer sessions found yet. |
| LINK ACTIVE | Locked to a peer session. BPM is syncing in real time. Amber dot pulses. |
Pulse Controls
| DJ MODE toggle | Turns DJ Mode on or off. Turning on stops the step sequencer if it is running. MIDI-learnable. |
| Cycle mode → ← ? | Forward (sequential), Reverse (backward), or Random — controls which pad the pulse advances to on each tick. MIDI-learnable. |
| Trigger rate | How often the pulse advances — every beat, every 2 beats, every bar (4 beats), or every 2 bars. |
| Pad bank | Restricts which pads the pulse cycles through — All, Pads 1–8 only, or Pads 9–16 only. |
| HOLD PAD | Press and hold to freeze the pulse on the current pad. Release to resume from where it was. Momentary. MIDI-learnable. |
| BLACKOUT | Toggle — kills the monitor canvas output instantly. Stays blacked out until toggled off. MIDI-learnable. |
| Transition style | CUT / FADE / STROBE — controls how the monitor transitions between pads on each pulse tick. MIDI-learnable. |
| BPM ×2 / BPM ÷2 | Doubles or halves the pulse clock rate relative to Link BPM. Visual timing only — global BPM and slider are not modified. MIDI-learnable. |
You can tap any pad manually at any time while the pulse is running. The pulse continues its cycle uninterrupted — manual hits layer on top.
Link broadcasts to all apps on the same WiFi network. Use a hotspot or separate network to isolate your session from other people.
Controls how CHOPPL analyzes audio and uses it to drive visual effects reactively in real time. All meters update live.
Input
| Master output | Analyzes CHOPPL's own audio output. Default mode. |
| Uploaded track / master | Analyzes the loaded backing track mixed with pad audio. |
| Mic / external input | Analyzes a mic or external audio device — e.g. a virtual audio driver receiving your DAW's output. |
| RECORD EXT AUDIO | When on, external audio is captured in exports. Required if you want your DAW's audio in CHOPPL recordings. |
| MIC INPUT | Quick-enable microphone input from the section header. |
| REFRESH DEVICES | Re-scans available audio input devices. |
Tuning
| Gain | Amplifies input signal before analysis. |
| Smoothing | How much meters average over time. Higher = smoother but slower response. |
| Threshold | Minimum level to register as a beat event. |
| Sensitivity | How strongly beats register against background noise. |
| Attack | How fast analysis responds to rising signal. |
| Release | How fast analysis responds to falling signal. |
Audio Sync (for BlackHole / Ableton)
| Beat Gate | Minimum energy required to register a beat trigger. |
| Beat Decay | How quickly the beat signal decays after a hit. |
| Bass Punch | Amplifies bass frequency contribution to beat detection. |
| High Sparkle | Amplifies high-frequency contribution. |
| Trigger Intensity | Scales overall trigger output. |
| Motion Push | Scales how strongly beats drive visual motion. |
Routes
| BASS → SCALE | Bass energy controls visual scale. |
| MID → GLITCH | Mid frequencies drive glitch intensity. |
| HIGH → BRIGHT | High frequencies drive brightness. |
| PEAK → FLASH | Peaks trigger flash events. |
| RMS → OPACITY | Average loudness controls visual opacity. |
Global audio processing applied to all pads and the backing track.
| Master | Global output volume 0–150%. |
| Drive | Waveshaper distortion — subtle saturation at low amounts, grit at high. |
| Lo Cut | High-pass filter, removes low-frequency rumble (20–800 Hz). |
| Hi Cut | Low-pass filter, rolls off highs (1200–20000 Hz). Use for lo-fi feel. |
| Delay | Wet/dry mix for the delay effect (0–80%). |
| Feedback | How much the delay signal feeds back — higher values create longer cascading echoes (0–80%). |
Animated canvas effects that render on top of your video output in real time. All effects are beat-reactive and respond to pad hits and audio input.
VFX Presets
| CLEAN | Subtle scanlines only. Low energy. Good for performances where the video should stay legible. |
| SKATE | Scanlines + VHS + Bloom. Medium intensity. The default skate content aesthetic. |
| ACID | Glitch + Bloom + Strobe. High intensity. Aggressive psychedelic look. |
| NOIR | Scanlines + VHS. Low energy, desaturated. Classic film grain feel. |
| HEAT | Bloom + Glitch. Medium-high intensity. Warm, overdriven look. |
Effects
| SCAN | Horizontal CRT scanline overlay. |
| GLITCH | Digital corruption — pixel displacement and color splitting. |
| BLOOM | Amber glow on bright areas. Flares on pad hits. |
| VHS | VHS tracking artifacts — horizontal jitter, color bleed, noise. |
| STUTTER | Full-frame strobe flash. Use sparingly — it is intense. |
| KALEIDO | Kaleidoscope mirror effect — reflects the image across axes. |
| FEEDBACK | Video feedback loop — recursive echo of the canvas back into itself. |
| TILE GRID | Tiles the visual output into a repeating grid. Works well combined with KALEIDO. |
Global Controls
| AUTO DRIFT | Global toggle for automatic pan and zoom on video pads. When on, clips subtly drift and breathe in the frame. Image pads also respond to AUTO DRIFT unless their LOCK POSITION toggle is enabled in pad settings. |
| Amount | Master intensity of all active effects (0–100%). |
| Beat | How strongly pad hits spike effect intensity. |
| Energy | Overall visual energy — drives motion and chaos across all effects. |
| Shake | Screen shake intensity on pad hits. |
| Color | Shifts color grading across effects. |
Random FX On Hit
Per-pad VFX assignments are set in each pad's settings sheet under the Advanced section. Assigned effects fire momentarily each time that specific pad hits, independent of global VFX toggles.
Static branding and output decoration controls. These composite on top of the VFX layer and render in both the monitor and exports.
| BORDER | Adds a color border frame around the canvas. Set color and thickness (1–24px). |
| TEXT | Burns a text label onto the visual output. Set the label text and color. |
| REC BUG | Small REC indicator dot in the corner — classic camcorder style. |
| LOGO WATERMARK | Upload a PNG or SVG logo. Set size (5–50%), opacity (0–100%), and corner position (TL, TR, C, BL, BR). Renders in monitor and exports. |
Disable all overlays before recording if you want a clean export. Pro builds are watermark-free by default — overlays only appear if you explicitly enable them here.
Max for Live Bridge (Ableton)
CHOPPL receives controls from Ableton Live via a Max for Live device and a local WebSocket/OSC bridge. The OSC BRIDGE READY indicator in the bottom status bar confirms the bridge is active.
01
Open CHOPPL first. The bridge starts automatically. Wait for OSC BRIDGE READY before Ableton sends controls.
02
Add the device. Create an empty MIDI track in Ableton and drop the CHOPPL Max for Live device onto it.
03
Choose MIDI From. In the track's input dropdown, select the track you want CHOPPL to receive MIDI from.
04
Monitor ON. Set Monitor to In/ON so MIDI passes through the Max for Live device.
05
Trigger CHOPPL. Use device controls or routed MIDI to send pads, BPM, record, FX, and bank changes.
06
Show visuals. Use OUTPUT in the top bar for a pop-out visual window. Fullscreen it or capture in OBS.
DAW Audio into CHOPPL (Virtual Audio Driver)
To feed your DAW's audio into CHOPPL's analysis or export capture, use a virtual audio driver — BlackHole (Mac, free) or VB-Cable (Windows, free).
| Install driver | BlackHole: existential.audio/blackhole — VB-Cable: vb-audio.com. Both free. |
| Mac setup | In Audio MIDI Setup, create a Multi-Output Device with your speakers and BlackHole checked. Set Mac system output to that device. |
| Ableton | Set audio output to the Multi-Output Device or route audio to the virtual driver. |
| CHOPPL | In AUDIO tab, set Input to Microphone / external input, select BlackHole, enable RECORD EXT AUDIO ON. |
Live Output (OBS, Projector, Second Display)
| Pop-out window | Tap OUTPUT in the top bar — opens a clean window with only the visual canvas. |
| Fullscreen | Click the pop-out canvas to request fullscreen, then drag to a projector or second display. |
| OBS capture | Add a Window Capture or Display Capture source in OBS pointed at the CHOPPL pop-out. |
| Syphon Out | Enable SYPHON OUT in the REC tab to broadcast the canvas directly to OBS, Resolume, MadMapper, or VDMX. Pro · macOS only. |
Workflow A — Chop a Music Video
01
Drop a video into LIB. Tap SLICE.
02
Select the clip from Source. Set Slices to 8. Tap AUTO.
03
Tap TO PADS. Pads load with the sliced regions.
04
Go to PADS, tap any pad to preview. Adjust trim and speed via the gear icon.
05
Go to SEQ, program a pattern by toggling step cells.
06
Go to REC, pick aspect and quality, tap START.
07
Tap STOP in the top bar. Download the export link when it appears.
Workflow B — Live Mix with Backing Track
01
Load multiple clips into LIB. Assign to pads or use AUTO FILL PADS.
02
Go to TRACK, load an audio file, tap USE BPM.
03
Use MATCH ALL PADS to pitch-align all clips to the track key.
04
Play pads live over the track or program the sequencer.
05
Record from the REC tab.
Workflow C — DJ Visual Set (Pro)
01
Load clips into pads. Set up banks for different sections of your set.
02
Open DJ software with Link enabled on the same WiFi network.
03
In CHOPPL, go to MORE → DJ. Tap DJ MODE. Watch the indicator move from LINK READY to LINK ACTIVE.
04
Choose a cycle mode (→ ← ?) and trigger rate. Pick which pad bank to pulse through.
05
BPM syncs automatically. The pulse begins on the next beat.
06
Use Hold Pad to freeze on a moment. Tap pads manually for live hits. Hit Blackout for drops.
07
Use OUTPUT for a pop-out window — send to projector or capture in OBS.
Workflow D — Beat-Reactive Visuals from Ableton (Pro)
01
Install BlackHole and route your Ableton audio output through it.
02
In CHOPPL AUDIO tab, set Input to external and select BlackHole. Enable RECORD EXT AUDIO ON.
03
Turn on audio Routes (BASS → SCALE, PEAK → FLASH, etc.).
04
Set up MIDI Learn to map Ableton controls to CHOPPL pads and effects.
05
Use OUTPUT for a pop-out window — capture in OBS or send to projector.
Still stuck? Join the
CHOPPL Discord and report bugs or get help from the community.
Export is WebM, not MP4
Requires COOP/COEP headers configured on the server. These are active on try.choppl.com and in the Pro app. Running locally without a proper server setup means WebM only — use npx serve . with a serve.json that sets the headers.
ffmpeg.wasm is slow on first use
Downloads from CDN on first load (10–30 seconds). Cached after that. The sequencer and pads keep working while it loads in the background.
No sound from pads
Tap a pad manually first to unlock the AudioContext — browsers require a user gesture before audio can play. If audio still doesn't work, check that the pad isn't MUTED and that the master volume in the FX tab isn't at zero.
Clips sound lower or higher pitched than expected
BPM sync no longer auto-applies on load. Check the Speed / Pitch slider in pad settings — reset it to 0 semitones if needed. Also verify the Clip BPM in the Advanced section is correct.
Pads are cutting each other off unexpectedly
Check Choke Group assignments in pad settings. Pads in the same Choke Group (A, B, C, or D) will cut each other when one fires. Pads with no Choke Group play simultaneously without interference.
MATCH KEYS shifts everything wrong
One clip may have low-confidence key detection (speech, dialogue, noise). MATCH KEYS excludes clips with key confidence below 40%. If most clips are non-musical, no match will run — adjust pitch manually per pad using Speed / Pitch in pad settings.
Filmstrip is slow or incomplete
Frame extraction is CPU-intensive on long clips. On low-end mobile a timeout may fire and show an incomplete filmstrip. Use shorter clips for faster extraction.
iOS recording drops frames
iOS Safari has limited canvas capture support. Use Chrome on Android or desktop Chrome/Edge for full recording support.
MIDI not showing up
Use Chrome or Edge (Web MIDI API required). Enable MIDI via the MIDI pill in the bottom status bar. Connect your device before opening the browser. Check that the Input Device dropdown is set to your device or "All inputs".
Library disappeared (Lite)
In the browser, clips are stored in IndexedDB — local to each device and browser profile. Clearing browser site data for try.choppl.com will clear the library. Switching to a different browser or browser profile also starts with an empty library. Pro app clips are stored on disk and are not affected by browser storage clearing.
Syphon source not showing up (Pro)
Make sure the source app is running and broadcasting Syphon output before opening CHOPPL. The +SYPHON PAD list only shows sources that are actively broadcasting. If using the OBS Virtual Camera path, verify OBS Virtual Camera is started.
Archive import fails
Archive import requires the Pro Mac app — it is not available in the browser. Make sure the Pro app has internet access and the Archive.org source video is reachable. Check the status message in the importer panel for specific error details. If the issue persists, report it in the
CHOPPL Discord.
Visual output slows when window is minimized (Pro)
The Pro app disables renderer backgrounding so audio and video keep running at full speed when minimized. If you're seeing throttling on a current build, report it in the
CHOPPL Discord.
OSC bridge not ready
Refresh the page. Always open CHOPPL before launching the Ableton Max for Live device — the bridge starts automatically when CHOPPL loads.
Pad settings sheet is cut off
The sheet scrolls internally — swipe up within the sheet to access controls below the visible area. Tap the Advanced section header to expand hidden controls.
Pitch / Key wheel shows no compatible keys
The Camelot wheel highlights compatible keys based on the track key. If no track is loaded or the track has no detected key, compatible key highlighting won't appear. Load a track with a detected key in the TRACK tab, or set the track key manually via the dropdown.
TAGS option not available in library card menu (Lite)
Writing tags is Pro-gated. Lite can read existing tags but cannot create or edit them. Upgrade to Pro to tag clips.
Custom font not showing in Create Pad
Import the font via the font import option in Create Pad — accepted formats are .ttf and .otf. The font is copied to CHOPPL's local custom fonts folder and reloads automatically on the next app start. After import, the font appears in the dropdown as Custom: Font Name.
Sliced pads playing beyond their slice range
Make sure each sliced pad's Start and End points are set within the intended slice region — use the Trim sliders in pad settings to verify. Slice loops are now clamped inside the sliced range. If the issue persists, re-run SLICE from the LIB tab and send the slices to pads fresh.