Frequently Asked Questions
macOS: Mojave 10.14 or later, Intel Core i5 or Apple Silicon M1 or later. Formats: VST3, AU, AAX.
Windows: Windows 7 or later, 64-bit. Formats: VST3, AAX.
An internet connection is required for activation.
Ninja AB Manual
1. What is Ninja AB?
Ninja AB is the ultimate tool for A/B referencing your tracks - whether you're creating, mixing, or mastering. You insert it on your master bus, load your favourite reference tracks, and switch instantly between your mix (A) and a reference (B) - level-matched, and synced to the section you're working on - so you're always comparing like with like.
What sets it apart from a plain reference switcher:
- Live project visualization - Ninja AB continuously captures your master signal and draws a loudness/dynamics map of your whole song, so you can see your mix next to the references, not just hear it.
- Section-synced referencing - mark up sections (intro, verse, chorus, drop…) on both your project and the references; when you move to a section in your DAW, the reference jumps to its matching section.
- Up to 9 references held in RAM, plus your project, for instant switching.
Who it's for: Mixing and mastering engineers, producers - anyone who references against finished tracks (which you absolutely should imho). The defaults lean toward electronic music (4/4, tempo-aware features), but the core A/B and metering workflow suits any genre.
2. Installation & formats
Ninja AB installs as VST3, AU, and AAX - whichever your DAW gets along with.
Insert it on your master / stereo output bus so it sees the full mix. Ninja AB does not alter your audio when comparing - it routes either your mix or the selected reference to the output.
3. Quick start (30 seconds)
- Insert Ninja AB on your master bus.
- Load a reference - drag an audio file onto an empty reference tile, or use the file browser. (See §6.)
- Press play in your DAW. Ninja AB starts mapping your master signal.
- Click the A/B button (bottom-left) to flip between your mix and the reference.
- Optionally hit match so the reference plays back at the same loudness as your mix - now the comparison is fair.
That's the loop: load, play, A/B, match. Everything else just refines it - and yes, that really was about 30 seconds.
4. The interface
One big visualization, everything else tucked into drawers until you ask for it. Here's the lay of the land:
- 1 Main Toolbar - Logo, view-mode and section-link selectors, preset manager, menu.
- 2 Main Display - The hero visualization - waveform / RMS / multiband, with beat grid and section regions.
- 3 Meter - Vertical level meter spanning the display height.
- 4 Floating Button Island - Transport, section nav, zoom, and auto-range.
- 5 Indicator Bar - Channel selector, transport/follow/loop, reference name, loudness, browse toggle.
- 6 A/B Button - Flip between A (your mix) and B (the selected reference).
- 7 Reference Browser toggle - Opens the Reference Browser Shelf - the 10 tiles (§7).
- 8 File Browser toggle - Opens the File Browser Drawer for loading references (§6).
- 9 Auditioning toggle - Opens the Auditioning Drawer - filters & stereo monitoring (§11).
- 10 Settings Shelf toggle - Opens the Settings Shelf for the current reference or project (§10).
4.1 Main Toolbar
Follow A/B sync - when on, switching between A and B also switches what the Main Display shows.
Project auto-follow - when on, the Main Display pages along with the playhead.
Zoom to section - zooms the view to the currently active section.
View selector - switches the Main Display between Waveform, RMS, and Multiband (see §5).
Link selector - the section link mode (Off / Section / BPM / Project, see §9).
Undo / Redo - for when you make silly mistakes like me.
Preset manager (center) - current preset name with previous/next arrows; click the name for the preset menu.
Menu / info (right) - the main menu and Settings (see §4.3), plus News / Update.
4.2 Indicator Bar
Always visible at the bottom. It contains:
Channel selector - a 2×5 grid of cells numbered 1–9 plus P (project). Click a cell to select that reference (or the project) for the Main Display and for B-mode playback.
Play / Pause - pause the reference if it's playing.
Follow - when on (default), reference playback follows your project: it starts/stops with the DAW transport.
Loop - when on (default), the reference loops within the current section's bar boundaries.
Reference name - e.g. "The Him – Coming Home (Extended)".
Loudness match - hit the arrows to match just this reference to the project's LUFS.
Loudness readout - the reference's loudness (LUFS) used for level matching (a short-term maximum).
Browse toggle - opens/closes the Reference Browser Shelf.
The channel-selector cells mirror the shelf tiles' state model (selected / display target / playing) - see §7.
4.3 Main menu & Settings
The main menu (top-right) groups everything that isn't a per-track control:
View - Theme, GUI Scale, Show Tooltips, Settings, Show Full Paths, Show PSR Line, Enable MCP Server (Experimental), Copy agent setup prompt, OpenGL Rendering. (More on the MCP server in §16.)
References - Load References…, Sidecar Storage (Central database / Local / Both), and Relocate all missing… (shown only when references are missing).
State - Init All, Init Preset, Reset All References, Reset Captured Audio.
Folders - Open Library folder, Open Resources folder.
License - Remove license.
Help - Ninja AB FAQ (online), Copy debug info, About.
Settings opens a compact dialog for the most-used display options:
Meter - Mode (Peak / VU / RMS / K-12 / K-14 / K-20 / M LUFS / S LUFS), Style (Blocks / Smooth), Color (Sectioned / Gradient).
Range - Min dB and Max dB for the display's loudness scale (Min −96…−6 dB, default −28; Max −24…+6 dB, default +2).
Appearance - Theme and Scale (50–200%).
Scope note
5. The Main Display & view modes
The Main Display is the centerpiece - the part you'll end up staring at most. It draws the selected track on a dB scale with a beat grid (when BPM is known) and section regions across the top. You can zoom and scroll (controls live in the Floating Button Island).
Three views, switched from the View selector in the toolbar:
| View | What it shows | Best for |
|---|---|---|
| Waveform | Full-resolution sample waveform | Transients, arrangement, edit points |
| RMS | RMS energy envelope over the waveform | Loudness / dynamics comparison |
| Multiband | Three frequency bands (low / mid / high), each with its own envelope | Spectral balance vs references |
The Multiband view splits the signal into 3 bands, with crossover frequencies of 120 Hz and 2.5 kHz. The RMS and Multiband views can also overlay a PSR line (peak-to-short-term-loudness, a dynamics indicator) - toggle it with Show PSR Line in the menu (on by default).
6. Loading references
You can load up to 9 references. Each is decoded, resampled to your host sample rate, and held in RAM for instant switching.
Ways to load:
- Drag & drop an audio file (or several at once) onto an empty reference tile (in the shelf or channel selector). You can also drag from one Ninja AB instance to another.
- File Browser Drawer - slides in from the left edge. It has Factory and User folders and lists the audio files inside; click a file to load it into the targeted slot.
- Load File dialog - Load References… in the main menu opens your operating system's file picker.
- 1 Factory / User tabs - Switch between the bundled and your own reference folders.
- 2 Current folder path - Where you are in the library.
- 3 File list - Click a file to load it into the targeted slot.
On load, Ninja AB analyzes the track: BPM (auto-detected), integrated LUFS (for level matching), and generates the display data. Metadata is saved next to the file as a .njinfo sidecar and in a central database, so a track keeps its BPM, sections, and offsets the next time you load it.
If you store your references in the "User" folder, inside the user library, paths are stored relative to the library. That way projects and presets from one computer can also find the refs on another machine.
Pro tip
7. Reference Browser Shelf & tiles
The Reference Browser Shelf slides up from the bottom (toggle: the browse button on the indicator bar). It shows 10 compact tiles in a 2×5 grid - 9 references plus the project.
Each tile shows: an RMS sparkline, section markers, a playhead, the reference name, and a loudness delta vs your project.
A control strip runs across the top of the shelf (a floating island): loudness / match readouts plus the repitch / timestretch selector and beat-match toggle that govern tempo conversion (see §9.1).
Tile states
A tile surfaces four independent pieces of state at once:
- Selected (source) - a speaker icon (top-left). This is the reference you hear in B-mode.
- Display target - a glowing outline + magnifier icon (top-right). This is the track driving the Main Display. Only one tile has it at a time.
- Playing - a pulsing glow ring around the tile.
- Load / missing-file status - a small badge (bottom-left).
A reference can carry all of these at once - that's the normal "I'm editing, hearing, and playing this reference" state.
Tile interactions
Click a tile - selects it as both the display target and (if playing) the audible source.
Shift-click - seek to that point and start playback.
Drag - reorder tiles.
Speaker icon - set the audible source without changing the display target.
Magnifier / edit icon - set the display target only.
Right-click a tile - opens its context menu (below).
Load file… (or Relocate file… if the file is missing), Show in Finder, Show sidecar in Finder. On Windows these read "Show in Explorer"; on Linux "Reveal in File Manager".
Sidecar - Write sidecar now, Reload from sidecar, and Move sidecar to local / Move sidecar to DB.
Detect BPM (overwrites the current BPM), Recompute LUFS, Reset gain.
Delete sidecar - Local / DB / Both, depending on which exist.
Remove reference.
The menu is context-sensitive: items appear or change wording based on whether the file is present and where its sidecar is stored, so your menu may differ from Figure 7.2.
8. A/B switching & level matching
A/B
The A/B Button (bottom-left) is the heart of the plugin:
A - your project audio plays through the output.
B - the selected reference plays through the output.
Switching is instant and gapless, and (with section sync on) the reference is already at the matching point in its arrangement.
Level matching
Loudness differences fool the ear - the louder track almost always "sounds better". It's the oldest trick in the book, and your ears fall for it every time. Ninja AB takes that bias off the table:
- Per-reference gain - trim each reference manually (Settings Shelf, §10). A separate nudge is preserved across automatic matching, so your manual offset survives a re-match.
- Automatic match - match the reference's loudness (LUFS) or peak to your mix so the A/B is fair.
- Project reference point - matching is relative to the project's loudness. Ninja AB tracks the project's detected max LUFS, and you can lock it or set a manual target so matching stays stable while you keep mixing.
- Visual scale match - next to the level-match button, another button aligns each reference visually too: it uses a comfortable 30 dB display range that takes the gain into account, so every reference and your project also look the same.
9. Section sync
Sections are labeled bar-ranges (intro, verse, chorus, drop…) marked on a track. You see them as colored regions across the top of the Main Display. Ninja AB matches sections by label between your project and each reference.
Create sections directly in the Main Display - double-click to add one. A popup lets you pick a name and length:
Pro tip
The section link mode (toolbar Link selector) controls how reference playback follows your project:
| Mode | Behavior |
|---|---|
| Off | No sync - reference plays freely. |
| Section | When your project enters a section, the reference seeks to its matching section. |
| BPM | Beat-phase snap on seek; reference then free-runs in tempo. |
| Project | Bar-for-bar position mapping - the reference tracks your project timeline continuously. |
Default is Section. Section/beat features need a BPM set on the track. Ninja AB auto-detects BPM on load; you can correct it in the Settings Shelf. Time signature is 4/4.
9.1 Tempo matching - beat-match, repitch & timestretch
This is separate from the section link mode above: link mode controls position (which part of the reference plays), while this controls tempo (whether and how the reference is sped up or slowed down to your project's BPM).
By default a reference plays at its own tempo. Turn on beat-match - globally, or per reference - to make it follow your project tempo. Beat-match is the gate: with it off, the reference plays at its native tempo; with it on, the reference is tempo-shifted to your project BPM.
When beat-match is on, choose how the shift is done, per reference:
- Repitch - speed up / slow down the audio; pitch moves with tempo (like a turntable). CPU-light, transients stay natural.
- Timestretch - hold pitch, stretch time (Signalsmith). Keeps the reference in key, at higher CPU.
The repitch / timestretch selector and the beat-match toggle live in the floating strip at the top of the Reference Browser Shelf (§7). Repitch/timestretch is always editable - it just only changes what you hear while beat-match is active.
10. Settings Shelf
The Settings Shelf tucks behind the meter on the right edge; open it from the indicator bar / settings control. Its contents are scoped to the current display target (a reference, or the project).
Per-reference fields:
BPM - tempo used for the beat grid and section positioning (auto-detected, editable).
Offset - align the reference's first beat / start.
Gain - manual level trim for this reference (−100…+12 dB).
Nudge - fine gain adjustment (−12…+12 dB), preserved across automatic level matching.
The per-reference playback mode (repitch / timestretch) and beat-match controls are not in this shelf - they live in the strip at the top of the Reference Browser Shelf. See §9.1.
10.1 Project mode - start/end, gains, and PDC
Set the display target to the project (the P cell) and the Settings Shelf switches to project scope.
bpm - your project tempo (here 128).
start / end - the project's working bar range (here bars 31–112). This bounds the live-capture map to the part of the song you care about, instead of the whole timeline.
length - duration of that range (read-only).
a / b - the A and B output gain trims (the project-vs-reference output levels).
offset - fine alignment for the capture. (Separately, a bar-number offset lets you make the grid read from your DAW's bar 1 if the capture doesn't start there.)
Scope note
.njab presets. Presets carry your reference set and per-reference settings (§13).
Plugin Delay Compensation (PDC)
When Ninja AB sits on the master bus behind other plugins, the master signal it captures can arrive later than the host timeline in some hosts. PDC aligns the live capture so your project map (and A/B timing) lines up correctly. It's a three-step flow:
- PDC off - the default (Figure 10.2). No compensation is applied.
- Enable PDC - the PDC button lights up and shows a red ×: it's on but not compensating yet.
- Apply - click the swap (⇄) icon at the end of the PDC row. Ninja AB reads the host's detected latency and compensates; the marker turns to a green ✓ with the amount it's now correcting for, in milliseconds (here 18.3 ms).
At a glance
It's unfortunately a limitation of certain DAWs not compensating the delay accurately. Ninja AB tries to sneakily figure out whether this is happening by detecting a little silence at the start of playback - but that method isn't foolproof, and can fail or show false positives if reverbs or delays are still decaying when playback starts. So if you know your latency isn't changing much (read: you're not adding or removing plugins), you can probably ignore it for a while. When you're down to details - or really trying to line two pieces of audio up tempo-wise - it's worth grabbing the PDC amount again.
11. Auditioning (filters & stereo monitoring)
The Auditioning Drawer opens at the bottom-left (just above the A/B button). It lets you scrutinize part of the signal without changing your mix - it affects only what you monitor, on both A and B. Think of it as a magnifying glass for your ears.
Stereo monitoring - Stereo, Left, Right, Mid, Sides, Side (M) ("side, mono-summed"). Solo the mid or sides to check width and mono compatibility against a reference.
Filters - a master on/off, a band selector (Off / Low / Mid / High) that recalls stored HP+LP pairs for each band, and a slope of 12 / 24 / 48 dB. Pick a band - or sweep the HP/LP frequencies freely - to focus on (e.g.) the low end and compare it across A/B.
12. Metering
The Meter on the right edge spans the display height. It has eight modes:
- Peak · VU · RMS
- K-12 / K-14 / K-20 (K-system)
- M LUFS (momentary) · S LUFS (short-term)
That's a lot of terms, and you really don't need them all. So I always say: "if these options stress you out, stick to RMS." It's what I like to use.
13. Presets
Presets (.njab) store your reference set and settings. Use the preset manager in the toolbar - the current name with previous/next arrows, and a browser (click the name) to load, save, and organize.
14. Themes
Ninja AB ships multiple themes (Dark, Nebula, Graphite, Midnight, Tha Ninja, Monster, Light, Light Dessert). This manual uses Dark (the rest are there for when Dark doesn't match your studio's mood lighting). Change theme from the main menu (§4.3) or the Settings dialog (Figure 4.3).
15. Reference metadata & storage
Every reference keeps its analysis and your edits in:
- a
.njinfosidecar XML next to the audio file, and - a central database at
~/Documents/The Him DSP/Ninja AB/Database/.
Stored per reference: BPM, sections, offsets, LUFS. So a track you've set up once comes back ready. Storage location is configurable in the menu under Sidecar Storage - Central database, Local (next to audio), or Both.
16. MCP server (experimental)
Ninja AB ships with a pretty fully functional MCP server, which I highly recommend you try out if you're into that kind of thing - you can add sections, change settings, read the display… it's genuinely fun. Turn it on with Enable MCP Server (Experimental) in the menu (§4.3), then use Copy agent setup prompt to wire up your client.
It only works locally, and support per client varies (it depends on them supporting local MCP / STDIO communication). Claude Desktop, Claude Code, Cursor, VS Code (Copilot), Windsurf, Codex CLI and some more should most likely work.
But your mileage may vary! It's a dev tool I wanted to make available for geeks like myself. If you leave it off in the settings (the default), it doesn't load anything.
Uninstallation
To uninstall Ninja AB, simply remove the plugin files from the following locations:
macOS
/Library/Audio/Plug-Ins/Components/Ninja AB.component
/Library/Audio/Plug-Ins/VST3/The Him DSP/Ninja AB.vst3
/Library/Application Support/Avid/Audio/Plug-Ins/Ninja AB.aaxplugin
/Users/Shared/The Him DSP/Ninja AB
Windows
C:\Program Files\Common Files\VST3\The Him DSP\Ninja AB.vst3
C:\Program Files\Common Files\Avid\Audio\Plug-Ins\Ninja AB.aaxplugin
C:\Users\Public\Documents\The Him DSP\Ninja AB
Troubleshooting
2. Verify the plugin files are in the correct locations listed in the Uninstallation section above.
3. Restart your DAW and rescan plugins.
4. If the issue persists, contact us at dsp@thehim.com.