All Documentation
Audio-Reactive Visual Engine

Orra Visualizer User Manual

Version 1.0.0 (beta) • © 2026 Orra Audio LLC

1. Introduction

Orra Visualizer is a layered, audio-reactive visual engine for macOS. Point it at your sound — a DAW, Spotify, a microphone, anything your Mac can hear — and compose live visuals from webcams, screen captures, video, text, and an open ecosystem of GPU shader plugins, all reacting to your audio in real time. Record it, stream it, or run it full-screen behind your set.

It's built for music producers, performers, and streamers — but you don't have to be one. If you love music, it turns listening into something you can watch.

Making your own visuals is the heart of it. The plugin system is an open framework, and its built-in templates teach your favorite AI everything the engine can do — so creating a plugin is a conversation: describe the visual you want, paste the result into the built-in editor, and watch it run live on your canvas. No graphics programming required.

This page condenses the full manual. For every keyboard shortcut and every detail, download the PDF.

2. Requirements & First Launch

System requirements

macOS 13 (Ventura) or later. Built for Apple Silicon — Intel Macs run it (the app even auto-tunes itself for them), but performance may vary and Intel support is best-effort during the beta.

The license gate

The first thing you'll see. Three options: Enter License Key, Start 3-Day Demo (one demo per machine), or Purchase. Activate or start the demo to continue.

Content installs separately

Orra Visualizer ships as an engine, not a library — nothing is baked into the app. Plugins and scenes arrive as packs (.orrviz-pack) or individual .js files that you drop onto the window. Until you install some, the Generative and Particles menus are empty. Grab something from the packs & plugins page, or skip straight to creating your own.

Permissions arrive when needed

Never up front. The first webcam layer asks for Camera; the first system-audio source asks for Screen Recording. If you ever deny one, Help → Permissions is the rescue path.

3. Your First Two Minutes

  1. 1+ New Project — name it, pick a resolution (1920×1080 default), and optionally pick an audio source right in the dialog.
  2. 2Add audio: open the mixer (Cmd+M), click +, and pick System Audio → Application → Spotify (or your DAW, or an input device).
  3. 3Add a visual: right-click the canvas → Add Generative → pick anything in the list. (Nothing there yet? Install a pack or drop a .js plugin onto the window first.)
  4. 4Play some music. It moves. Welcome to Orra Visualizer.

4. Projects & Scenes

A project is a single .ovz file holding ten scenes, your mixer setup, output resolution, and a thumbnail. Every project holds ten scenes — full snapshots of your layer stack, global FX, grid settings, and colors. The mixer and output resolution are project-wide, shared by all scenes.

  • Switch scenes with keys 1–9 and 0, or click the squares in the menu bar. Projects always open on scene 1.
  • Swap two scenes by dragging one square onto another; copy with Option+drag.
  • Share a scene — right-click its square → Share Scene exports it as an .orrviz-pack carrying the plugins it uses.
  • Transitions — right-click a scene's square → Transition. Every transition is a plugin with real, live-editable parameters, and each scene keeps its own values. Durations from 0.3 to 2.0 s.
  • Crash recovery — while a project has unsaved changes, a recovery snapshot is written continuously; an unclean shutdown offers Restore on next launch.

5. Layers & Sources

Everything on the canvas is a layer, stacked bottom-to-top like a compositor. Add them from the toolbar, the sidebar's + Add Layer menu, or by right-clicking empty canvas.

SourceWhat it is
WebcamA live camera layer — background removal, hand tracking, and face tracking supported.
Screen CaptureA whole display, one specific window, or an application. Retarget live without re-adding.
Video / ImagePNG, JPG, GIF, BMP, TIFF; MP4, MOV, M4V, AVI — or drag a file straight onto the canvas.
TextVector text typed on the canvas. Drag sets the size (12–200 px).
GenerativeA shader plugin that generates visuals — the heart of Orra Visualizer. Includes 3D mesh plugins.
ParticlesGPU particle-system plugins, up to 1M particles, audio-reactive by design.
Composite FXProcesses everything below it — the whole mix becomes its input.

Every layer gets compositing controls (opacity, blend modes), a per-layer FX chain, numeric transform, a per-layer render-scale slider for heavy generators, and crop tools on every source type — rectangular, lasso (pen), and freehand.

6. Hand & Face Tracking

Orra Visualizer tracks your hands through the webcam — both hands, the full 21-joint skeleton (every fingertip, knuckle, and wrist), using Apple's Vision framework, entirely on your Mac. There's no switch to find: add a hand-tracking effect to a webcam layer and tracking turns on by itself. Effects can follow your fingertips, react to a pinch, wrap visuals around your hands.

Face tracking works exactly the same way: add a face-filter effect to a webcam layer and it turns itself on. The surface is deep — 71 points across up to two faces at once, covering the face contour, both eyebrows, both eyes and their pupils, the nose crest, inner and outer lips, and the overall face box. Face filters are audio-reactive too: the face drives placement while the music drives intensity.

Hands and faces are demanded independently — a face filter doesn't switch on hand tracking (or pay for it) and vice versa, and a plugin that wants both can have both.

7. The Mixer

Open with Cmd+M. Every audio source is a channel strip; the MASTER strip controls the summed mix. Sources: System Audio (the whole system, or one app in isolation), any Core Audio input (mics, interfaces, aggregates), and Orra Link DAW tracks.

Every strip — including MASTER — has an insert chain of seven studio effects: gain, 4-band parametric EQ, saturation, gate, compressor, duck, and limiter. What you hear is what everything gets — the processed signal drives the strip's meter, the visuals of every layer listening to that channel, the master mix, and recordings identically. Gate your mic and its layers stop twitching on room noise; that's the point.

9. Transport Control

Control playback of your music apps and your DAW from inside Orra Visualizer — per-strip play/stop buttons, one master key, no drivers. L is the master transport key: one press starts every armed source, the next stops them all. It's deliberately not the spacebar, so your DAW's own play muscle memory never collides with it. Option-click any strip's ▶ for an exclusive solo.

  • Spotify & Apple Music — zero setup. The first click asks macOS for permission once, ever.
  • DAWs — Ableton Live, Logic Pro, FL Studio, Cubase, Bitwig, Pro Tools, REAPER, Studio One, Digital Performer, Renoise, Reason, Ardour, Waveform, and LUNA are recognized automatically; any other DAW opts in via right-click. Each DAW gets its own virtual MIDI port, so controlling one never touches another.
  • Logic, Cubase, and Pro Tools respond to machine control natively. Everything else is a one-time two-minute MIDI-map using the foolproof right-click Send Play / Send Stop helpers — they always transmit exactly what they say, so the mapping can never come out backwards.

10. Audio Reactivity

Orra Visualizer continuously analyzes your audio: bass (20–200 Hz), mids (200–2k), highs (2k–20k), overall loudness, beat detection, the raw spectrum, and the waveform itself. Every plugin gets the full 1024-band spectrum — studio-analyzer resolution, fine enough to watch the kick drum and the hi-hats as separate signals — plus the raw stereo waveform.

Choose what each layer listens to via the headphones icon on its row: the master mix (default), any single mixer channel, any Orra Link DAW track, or none. A sensitivity control (0–2.0) scales how hard the layer reacts, and frequency-band routing lives inside each plugin's editor.

11. Plugins, Packs & Sharing

Plugins are single JavaScript files (.js) carrying GPU shaders. Six kinds: generators, particles, 3D, effects, transitions, and composite FX — face filters and hand-tracking plugins are effects too. Orra Visualizer also imports ISF and Shadertoy shaders directly.

Installing is a drag and a drop. Drop a .js file straight onto the window: it's validated first (a broken file never installs), files itself into the right folder, and generators and particles spawn as a layer immediately. Packs (.orrviz-pack) bundle plugins — and optionally scenes — in a single file with folder structure preserved.

Everything you make travels as a file: a plugin is one .js, a pack is a collection, a scene exports from its scene chip, and a theme is a small .json that re-themes the whole app when dropped. There's no account, no store, no upload step — a Discord message or an AirDrop is the whole distribution pipeline.

Plugins hot-reload: save the file from any editor and running layers update within half a second. The Library (Cmd+B) is a searchable browser over everything installed. Browse Orra Audio's own downloads on the packs & plugins page.

12. Creating with an AI

You don't need to know GLSL to make plugins. Cmd+Shift+C opens the Plugin Creator — a code editor pre-loaded with a complete, heavily-commented template for each of the six types. The template is a contract: it tells an AI exactly which audio signals exist and how the file must be shaped.

The loop

  1. Open the Creator on the tab for what you want (Generator, Particles, FX, Transition, Face Filter, Hand Tracking).
  2. Get the template to your AI: Copy All, or Drag .txt into the chat as an attachment.
  3. Say what you want in plain language: "make the particles form a spiral galaxy that tightens on the bass and flashes on every beat."
  4. Paste the AI's file back into the editor and Save. It's on your canvas, live, reacting to your music.

Saves hot-reload in under a second, so iteration is conversational: "more glow" → paste → save → watch. If a draft doesn't compile, the Copy Error button bundles the exact compiler error, your full source, and a reference for what the engine actually feeds shaders — paste it into the chat and most errors round-trip in one pass. Plugins can even ship a full custom UI — an XY pad, a beat button, a color wheel — designed by prompt.

Good habits: one change at a time; describe what you see (the AI can't see your canvas); say what to keep; ask for knobs — exposed parameters get presets and MIDI Learn like any plugin.

13. MIDI Control

Any plugin parameter and any layer-properties slider can be driven by a MIDI controller: right-click the knob → MIDI Learn, move a control on your device, mapped. Right-click again to see the mapping or clear it. Layer solo, mute, and FX bypass toggles are learnable too.

Mappings save with the project, and a mapped control stays live no matter which scene you're looking at — treat your controller as one layout for the whole project.

14. Recording & Streaming

R starts and stops recording. Recordings render at the project's output resolution (4K default for unnamed projects) regardless of window size or preview scaling — the preview can run scaled; the recording is always full-res. Choose HEVC (smaller files) or H.264 (compatible), at 30 or 60 fps. Recorded audio is the full time-aligned mixer mix.

Click LIVE to stream: Twitch and YouTube connect with a browser approve — the RTMP URL and stream key fill themselves — or paste any custom RTMP URL and key. Go Live streams at 1920×1080 @ 30 fps, 4500 kbps video and 160 kbps audio.

15. Display & Themes

The Disp tab is the control room: FPS cap (30/60/120/Unlimited), auto render resolution that adapts internal resolution to keep frame rates smooth on 4K/5K displays (recordings unaffected), and window-size presets named by destination — YouTube/Twitch/Kick, 4K, 720p, TikTok/Reels/Shorts, Instagram feed, square posts, Pinterest pins.

The entire interface is themed at runtime: nine factory palettes, plus custom palettes derived live from two color swatches — Shell and Accent — that recolor the interface as you drag. Themes export as a small .json; drop one on any copy of the app and it installs and applies instantly.

Hover tooltips are translated into Japanese, Spanish, Portuguese, and Dutch alongside English, switching on the very next hover. Anything not yet translated falls back to English rather than going blank.

16. macOS Permissions

Orra Visualizer asks only when a feature needs it. If you ever denied a prompt (or never saw one), Help → Permissions shows every permission with a checkmark when granted and a one-click fix when not.

PermissionNeeded for
CameraWebcam layers
MicrophoneMic input sources
Screen RecordingScreen-capture layers and system-audio capture (a fresh grant applies only after relaunching — the app walks you through it)
Automation (App Control)Play/pausing Spotify & Apple Music — one prompt per app, ever

17. Licensing & the Demo

  • 3-day free demo — one per machine, starts from the launch gate.
  • Activation — enter your license key (from your purchase email); licenses allow 3 machine activations. Free a seat any time with Deactivate in Help → License.
  • Offline-friendly — once activated, Orra Visualizer works forever offline; it never phones home to keep running.

See beta pricing, or read the license agreement (PDF).

18. Your Files & Backups

Everything lives under ~/Library/Application Support/OrrViz/Projects/ (your .ovz files), Plugins/ (every plugin you've installed or written — back these two up), plus Presets, Themes, and Assets. The app log for support is ~/Library/Logs/OrrViz/orrviz.log.

19. Troubleshooting

SymptomFix
Shortcuts do nothingSomething else has keyboard focus — click the canvas once.
Add Generative / Add Particles menus are emptyNothing’s installed yet. Drop a .js plugin or an .orrviz-pack onto the window.
The Transition menu only offers None and DefaultSame cause — those two are built in; every other transition is a plugin you install.
System-audio source is silent, no prompt appearedHelp → Permissions → Screen & System Audio; after granting, relaunch (macOS applies it then).
Spotify strip went quiet after Spotify restartedWait a few seconds — capture self-heals.
The DAW ignores LIts port isn’t enabled for control input, or Play/Stop weren’t both mapped — use the right-click Send Play / Send Stop helpers.
Choppy preview on a 4K/5K displayDisp → Render Resolution → Auto (recordings stay full quality).
Everything is slow with one heavy layerThat layer’s Performance → Render Scale slider.
The demo says it expired earlyThe demo clock is tamper-proof — changing the system clock doesn’t extend it.

Still stuck? Contact support — attach ~/Library/Logs/OrrViz/orrviz.log if you can.