Visualz user guide
A complete tour of the Visualz desktop app — every panel, what it does, and how the pieces fit together. If you've never opened the app, start at First boot. If you're trying to understand a specific panel, jump straight to it from the table of contents.
First boot
- Grant audio permission. The first frame asks for microphone or system audio. Required for any audio-reactive effect.
- Sign in. Open Settings → Accountand enter your email. New emails start a 7-day free trial automatically on first sign-in.
- Add an output. Open the Outputspage and click New Output. External windows, Syphon, Spout, NDI, BrowserStream™, and RTMP are all available targets.
- Drop a clip on a deck slot. Pick a source from the source picker, drop it in a clip cell, and hit space to play. The transport's Auto Trigger Clips button advances clips on every beat.
Perform view
The main mixing surface. Top-to-bottom it stacks the audio toolbar, the transport, and the canvas. Left-to-right it splits into the tracks sidebar (left), the canvas (center), and the right-rail panels (effect inspector, bindings, devices).
The four nav tabs at the top — Perform, Assets, Outputs, Settings — switch between the major views. Perform is where shows happen; everything else is setup.
Transport & auto-trigger
The transport toolbar runs across the top of the perform view. From left to right:
- Auto Trigger Clips — the big play/stop toggle. When playing, every detected beat (or sub-beat) advances the active clip on every layer. Stop it to hold the current clips.
- Beat indicator — bar count + the blinking beat dots. Useful for confirming the audio analyzer is actually finding the beat.
- Play Mode — Sequentialadvances clips in slot order; Random picks from filled slots.
- Trigger — which audio event drives the advance. On Beat uses onset detection; Sub / Bass / Low Mid / Mid / High Mid / Presence / Brilliance trigger on energy in a specific frequency band so you can lock the visuals to the kick or the high hats only.
- Phrase — advance every Nth beat (1, 2, 4, 8, 16). Use higher values for longer-hold clips.
- Blackout — instant kill to black on all outputs without stopping the rest of the engine.
Tip: the Audio Toolbar's Synctoggle links the audio file's play/pause to auto-trigger, so they stop and start together.
Tracks, layers & clips
Visualz is built on a four-bus hierarchy:
- Set — the whole rig, saved as one bundle.
- Track — a song or scene. Each track has its own layers and clips.
- Layer — a stack of visuals on a track, with a blend mode and an opacity slider. Layers composite top-down like Photoshop.
- Clip — a single playable visual (shader, video, plugin source, AI gen, etc.) that lives in a slot on a layer.
The left sidebar shows tracks expandable to layers expandable to clip slots. The center grid shows the layer rows for the active track, with clip cells you can drag between layers, an opacity slider, and a blend-mode picker per layer.
Add Layer / Duplicate Layer / Delete Layer live in the layer grid column header. Loop Record (hold) captures a few seconds of the live output and bakes it into a new clip in place.
Source picker
Click Add clip on any layer to open the source picker. Sources are grouped into:
- Generated — Shader, Tunnel, 3D Text, Fractal, Waveform, Lighting, Particles, Crystal, Frequency Network, 3D Waveform. Pure GPU; no media files needed.
- Plugins — anything installed from the marketplace or dropped into your local library. Each plugin can register source kinds the engine doesn't ship with.
- Media — video files, images, 3D models, sprite sheets.
- AI — prompt to generate shaders, video, 3D, textures, sprite sheets, or whole plugins. See AI generation.
- Live — BrowserStream™ / CrowdStream™ / FanCam™ sources.
Effects & modulators
Click any layer or clip and the Effect Inspectoron the right shows its parameters in a Tweakpane editor. Effects can be inserted at four scopes: Clip → Layer → Track → Set. The set bus sits at the bottom of the chain and affects everything.
Modulators
Below each parameter is a MOD picker. Cycle it to bind that parameter to an audio band, an onset spike, mouse X/Y, a per-beat random value, or a sweep. The depth slider sets how hard the modulator pushes the parameter.
The cable icon next to a parameter starts MIDI / OSC Learn — wiggle a fader or knob and Visualz captures it as a binding.
MIDI / OSC bindings
The Bindings panel (right rail) lists every external controller binding in the current set. Each row shows the protocol chip (MIDI / OSC), the source → target mapping, an enable toggle, an edit button (tune the range / curve), and a delete button.
Export / Import buttons at the top let you save the mapping as JSON and share it across rigs.
Devices panel
Lists connected MIDI inputs and outputs, with profile chips and per-device mute toggles. The Rescan button re-enumerates the OS device list — useful after plugging in a new controller. OSC config sits below the MIDI section.
Assets (Library & Marketplace)
The Assets tab has two sub-tabs.
Library
Everything installed locally. Kind tabs across the top filter to All / Video / Images / Shaders / Plugins / Presets / AI Models / 3D Models. Search and sort across the lot. Select mode lets you batch-delete or batch-tag.
Marketplace
The community marketplace. Category chips at the top filter to All / Shaders / Plugins / Presets / VJ Packs / Models / Videos. Each card shows the author, install count, and a one-click install. Items go straight into your Library.
Publish your own assets from the same tab; published items go through a moderation queue before they appear publicly. You can manage everything you've published from your account listings page.
AI generation
Built-in AI generates the asset kinds the engine uses natively: shaders, video clips, 3D models, textures, sprite sheets, and plugins. Each AI generation type is priced in tokens — the dialog shows the cost before you confirm. Tokens are pay-as-you-go; buy packs from your account page.
For plugins, the generator runs a two-step plan → generate flow so you can review what the agent will build before tokens are spent. Generated plugins land in your local Library as drafts; you can run them, edit them, or publish them to the marketplace (publishing requires moderation).
Outputs
The Outputs page manages one or many simultaneous render targets. Click New Output and pick the target type:
- Fullscreen Window — any connected display. Use this for projectors, LED-wall scalers, and venue monitors.
- Syphon (macOS) / Spout(Windows) — GPU-to-GPU handoff to Resolume, MadMapper, OBS, Notch, etc.
- NDI — network video to anything that speaks NDI.
- BrowserStream™ — a public room-code URL; audiences (or a remote operator) can watch in a browser. Token-metered by bandwidth.
- RTMP — direct push to YouTube / Twitch / Facebook Live with presets per platform. Token-metered by bandwidth.
Each output card has its own dimensions and FPS budget. One engine pass feeds all of them — adding a fifth output doesn't re-render the scene five times.
Settings
The Settings page is split into sections:
- Account — sign in / sign out, plan, tokens, marketplace listings.
- Output — global render resolution and orientation (landscape / portrait).
- Logo Overlay — corner watermark or branding logo; anchor, offset, scale, opacity, blend mode.
- Performance — GPU/CPU trade-offs.
- Defaults — fall-back settings for new sets, layers, and clips.
- Audio — input source (mic / system audio / file) + sample rate.
- MIDI — profile picker and per-device channel settings.
- OSC — listener port + enable toggle.
- About — version, build info, links.
CVJ-1 deck
The CVJ-1 touchscreen deck ships pre-authorized with a default binding layout: faders 1–8 drive the primary numeric parameter of the first effect on layers 1–8; transport buttons drive Play / Stop / Blackout / Next Track / Tap Tempo. Everything is re-bindable — the deck appears in the Devices panel like any other MIDI controller.
Shortcuts & tips
- Space — Play / pause auto-trigger.
- B — Blackout all outputs.
- 1 – 8 — Switch the active track.
- Drag a clip cell between layers to rearrange the mix mid-show.
- Hold Loop Record on the layer grid to bake the live output into a clip.
- Right-click a Library asset for Publish to Marketplace.
- Bug report from the top bar grabs a screenshot of the renderer automatically — use it when something looks wrong on screen.
Stuck? Join the Discord or send us a note from the contact page.
Reporting a bug
Visualz has a built-in bug reporter so you don't need to leave the app or copy-paste a screenshot anywhere. Use it whenever something looks wrong on screen, an output behaves unexpectedly, or the app gets into a state you can't recover from.
How to send a report
- Click the bug icon in the top bar.It's the small bug_report icon to the right of the version number. The renderer takes a screenshot of its current window beforethe dialog opens, so the capture reflects exactly what you were looking at when things went sideways.
- Write a one-line title. "What broke, in one sentence?" — keep it specific. "AI video gen returns 402 on Pro plan" beats "AI broken."
- Add a description. The dialog prompts for three things: what you were doing, what you expected, and what actually happened. A reproduction recipe ("open a fresh set, drop a video clip, hit space — playback stalls after 2s") gets bugs fixed fastest.
- Verify the screenshot. The dialog shows a preview. If it's blank or doesn't show the issue, close the dialog, get the bad state back on screen, and click the bug icon again to recapture.
- Submit. The report lands in our admin triage queue alongside the screenshot, your email, app version, and platform.
What gets sent
- Your title and description.
- The captured screenshot of the renderer window.
- App version and platform (macOS / Windows / Linux) so we can tell whether the bug is platform-specific.
- Your account email so we can reply with follow-up questions or a fix.
You need to be signed in to submit a report. If you aren't, sign in from Settings → Account first.
For anything that isn't a bug — feature requests, licensing questions, partnerships — use the contact page or drop a note in the Discord.
