Instruction manual

Everything Fulwave Monitor can do, in the order you'll actually use it.

Fulwave Monitor is a monitor router for your Mac: any input on any output, with its own gain at every crosspoint, and a processing chain on every channel. This manual covers choosing devices, building a mix, shaping each channel, recalling presets, talking back to performers, running several matrices at once with Pro, and unlocking the demo.

Platform
Mac (Apple silicon and Intel)
Requires
macOS 14 or later
Price
Free to try, one license to keep
Pairs with
HRTF Explorer
Last updated
October 2026

Overview

The signal path for every audio block is: device inputs → input processing → crosspoint matrix → output processing → device outputs. You decide what feeds what in the matrix, and what happens to each channel on the way in and on the way out.

That's the whole model. Everything else in the app is about setting up the grid quickly, shaping channels well, and getting back to a mix in one click.

Crosspoint

One cell of the grid: the level, in dB, at which one input feeds one output.

Processing chain

The blocks on one input or output channel: filters, EQ, compressor, delay, IIR, trim and, with Pro, Audio Unit plugins.

Preset

The whole state (levels, master, mute/solo, gangs and every chain) recalled without a click.

.fwm file

A session: every matrix with its presets and devices, and the Control window’s pads: see Sessions & files.

Matrix

One router: its own devices, grid, processing and presets. Every session has Main and TalkBack; Pro adds as many more as you need.

Quick start

The fastest way to see how it works is to route something you can hear.

  1. Install it. Open the disk image and drag Fulwave Monitor to Applications. Open it from there.
  2. Choose devices. Pick an Input and an Output at the top of the main window. They can be different devices.
  3. Press Start. macOS asks for microphone access the first time. Allow it: that is how any app reads the inputs of an audio interface. Every input is routed one-to-one to the same-numbered output to begin with, so signal passes straight away.
  4. Click a cell in the grid and type a level, drag it, or scroll it. Right-click a cell to switch it off and on.
  5. Press FX on a channel to open its processing window and add a high pass, some EQ or a compressor.
💡

If you only remember one thing: the grid decides what feeds what, the FX button decides what happens to each channel, and presets remember all of it.

Demo & license

Fulwave Monitor is free to try, and the demo is the complete app.

The one difference: an unlicensed copy stops processing audio every 15 minutes. Next to Start you'll see DEMO · 14:32 left counting down. When it reaches zero the audio stops and the message “Demo limit reached” appears; your session stays open. Press Start to carry on for another 15 minutes. There is no expiry date.

Unlocking

Buy a license from Fulwave: the Unlock… button next to Start, or Buy a License… in Preferences, opens the store. Your key arrives by email.

  1. Choose Fulwave Monitor ▸ Settings… (⌘,).
  2. Paste the key under License and press Activate.
  3. The limit is lifted at once, even while audio is running. No restart, no second download.

A license works on every Mac you own. To move it, press Deactivate this Mac in the same place; that frees the key for another Mac and returns this one to demo mode.

The key is kept in your Mac's keychain and checked again each time the app opens. If your Mac is offline or the license server can't be reached, a licensed copy stays licensed.

Fulwave Monitor Pro Pro

Pro adds named matrices (extra routers and cue matrices, each in its own window if you like, with export and import), Audio Unit plugins in the channel chains, and audio through Blackmagic video devices. A Pro key is entered in the same place, and a standard license shows a field for it. Pro is sold by how many Macs can use one key at once; to move up, buy the larger key at the upgrade price and enter it on each Mac.

Try Pro for 30 minutes

Anyone without Pro, on the demo or a standard license, can try it: press Try Pro for 30 Minutes in Preferences ▸ General ▸ License, or in the + menu beside the matrix tabs. Everything in Pro is unlocked, and PRO TRIAL · 29:59 counts down next to Start. The trial can be used once each time the app is launched.

  • When it ends, named matrices stop and leave the main window, the Control window, the pads and links, and their own windows close. They stay in the session: saving keeps them, and they come back the next time Pro is unlocked.
  • Plugins added during the trial keep running.
  • On the demo, audio still stops every 15 minutes during the trial; press Start to carry on.

Choosing devices

The Input and Output menus list every Core Audio device with its channel count and sample rate.

Fulwave Monitor works through Apple’s Core Audio, the Mac’s own audio system, and nothing else: it installs no driver of its own to reach your hardware, and it uses each device exactly as macOS presents it. That is why any device that appears in Audio MIDI Setup appears here, and why other apps can keep using the same devices at the same time (macOS mixes what several apps play to one output).

They can be different devices: Fulwave Monitor joins them with a private aggregate device while it runs (the output is the clock master and the input is drift-compensated at the best quality) and removes it when you stop.

  • The two devices should run at the same sample rate. If they don't, a message appears with a button that switches one to match.
  • The pickers are locked while audio runs. Press Rescan after plugging something in.
  • If two different devices start to sound jittery after a long run, press Resync (next to Stop): it rebuilds the join between them in a moment, without stopping. A matrix also does this by itself a second after one of its devices changes sample rate or clock source or goes away, or a Blackmagic input's signal changes format, is lost or comes back.
  • Your choices are remembered. If a remembered device isn't connected at launch, the Mac's default is used instead, and the remembered one is picked up again when it returns.
  • Under each picker are the device's own mute, volume slider and percentage: the same hardware controls as the Sound settings, and they work while audio runs. They aren't part of any session. Devices that publish no volume (some HDMI outputs, virtual cables) say so.

How big is the grid?

By default the grid follows your devices: a 12-in / 8-out pair gives a 12 × 8 grid, and with no device chosen it shows 16 × 16. The Channels button (next to Rescan) turns that off so you can set up to 64 inputs and 64 outputs by hand. Channels you hide keep their crosspoints, processing and gangs; they simply fall silent and return when the count grows.

The crosspoint matrix

Rows are inputs, columns are outputs. Each cell is the level, in dB, at which that input feeds that output. Blue cells carry signal; empty cells are off.

To… Do this
Select a cell Click it. Arrow keys move the selection.
Set a level by dragging Press on a cell and drag right or up for louder, left or down for quieter.
Set a level by scrolling Scroll or swipe over the cell. Hold ⌥ for finer steps.
Type an exact level Double-click the cell, or select it and press Return, or just start typing a number. -6, 3.5, -12,5 and +3 dB all work; off turns it off. Return sets it, Esc cancels.
Switch a crosspoint off or on Right-click it (or control-click). It comes back at the level it had before; one that was never on returns at 0 dB.
Assign to the master ⇧-click it. See Master, Mute & Dim.
Lock the grid Press Lock in the master bar, or Master ▸ Lock Crosspoints (⌥⌘L). See below.

The range is off to +12 dB. The row and column your pointer is over are highlighted so you can follow a path across a large grid. Changes are crossfaded over one audio block, so moving a level or recalling a preset never clicks.

Locking the grid

Lock freezes the crosspoints so nobody can change a level or a master assignment by accident. While it is on, the grid has an orange border and clicks, drags, scrolling, typing, right-click and ⇧-click do nothing, the Selected bar is dimmed, and Assign all and Clear assignments are unavailable. You can still select cells, move the master level, and use Mute, Dim, solo and the channel buttons.

The lock is saved with the session, so a locked session opens locked. It belongs to the session, not to a preset: recalling a preset still loads that preset's crosspoints, and never unlocks the grid.

Zooming the grid

The grid scales to fill the window. The −/Fit/+ control in the session bar (⌘−, ⌘=, ⌥⌘0 for Fit) adds a 50–200% zoom on top of that, and is remembered. Fit stops enlarging the grid at about 150%; if the window is wider than that needs, the spare width makes the meters longer and the crosspoint cells wider instead of leaving empty margins. The window can't be made smaller than 1180 wide, or larger than the grid can use, so a small matrix doesn't leave a sea of empty space. Below about 75% scale the grid scrolls instead of shrinking. Scrolling over the matrix itself sets levels, so scroll the grid by its edges or scroll bars.

Channels: mute, solo & gangs

Every input row and output column has its own controls.

M — Mute

Silences the channel. Mute always wins over solo.

S — Solo

If any input is soloed, every un-soloed input is silenced. The same goes for outputs.

B — Bypass

Skips the channel's whole processing chain and keeps every setting.

FX

Opens the channel's processing window. Green while processing is actually changing the channel.

Ganging into stereo pairs

The link button between two adjacent channels (1+2, 3+4 …) gangs them into a stereo pair. A ganged pair mutes, solos, bypasses and processes together, shares one chain order, and is the only place the stereo HRTF filter works. Pairs can't overlap. Un-ganging removes the HRTF filter, because it can't run on a single channel. A solo on a channel you've hidden doesn't silence the visible ones.

Master, Mute & Dim

The master is a single control that moves the crosspoints you choose and leaves the rest alone.

Assigning

⇧-click a crosspoint to assign it; assigned cells are outlined in green. Assign all puts every crosspoint that is carrying signal on the master, and Clear assignments releases them all. Neither moves any level.

An assigned crosspoint remembers its level and where the master was when it was assigned. Afterwards its level is that base plus how far the master has moved, so a custom mix keeps its balance when you turn it up or down as a whole. Un-assigned crosspoints never move.

Mute and Dim

  • Mute (the button, Master ▸ Mute, or a key you set in Shortcuts) silences only the assigned crosspoints, without changing any level.
  • Dim (the button, Master ▸ Dim, or a key you set) turns the assigned crosspoints down by a set amount: −20 dB by default, from −1 to −60 dB in the menu beside the button. Undimming restores everything exactly.
  • Dimmed cells show their reduced values in orange, and the master shows its dimmed position with a dashed mark where it sits undimmed. If you type a level into a dimmed assigned cell, the number you type is the dimmed value you see.
  • Mute wins over Dim.

Ref

Ref jumps the master to a reference level and back. Press it to set the master to the level in the menu beside the button (0 dB by default, from +6 to −40 dB); press it again to return the master to where it was. Ref lights up while the master sits at the reference level, and it turns off if you move the master. The reference level is saved with the session, like the Dim amount.

Monitor mode

Normally a preset saves the master level and recalling a preset restores it, so moving the master counts as an edit to the preset. With Monitor mode on (the Monitor button in the master bar and the Control windows, or Preferences) the master is a live control over whichever preset is loaded: switching presets leaves it where it is, and moving it never marks the preset as changed. Turning Monitor mode off brings back the loaded preset’s own master level.

Monitor mode applies to Main’s master, and to any other matrix you tie to it (see Tying matrices to Main).

Locking Monitor mode. Right-click the MONITOR button (or use Preferences ▸ Mixing) and choose Lock Monitor Mode to keep it as it is, on or off. The button shows a lock, and clicking it, the Preferences switch and its shortcut do nothing until you unlock it the same way. The lock is saved with the session, and a locked session opens with Monitor mode as it was locked, so someone running the Control window can’t switch it off by accident.

Colors

The master slider, fader, knob and dB readout show what the master is doing: red while muted, orange while dimmed, green while at the Ref level, and blue otherwise.

Master position (unless Monitor mode is on) and assignments are saved in presets. Mute and Dim are live controls and are not part of a preset. The Dim amount and the Ref level are saved once per session file and come back when it loads.

TalkBack

Every session has a second router for talking to performers: its own devices, grid, processing and presets, silent until you talk.

Choose its page with the TalkBack tab at the top of the main window. Pick its input (your talkback mic) and output, then route the mic to the outputs you want, the same way as on Main. TalkBack only starts once it has devices. New TalkBack presets have every crosspoint off, so nothing is sent until you set one up.

  • Talking. A TalkBack preset is heard only while it is on: press Talk on its page to hear the one you are editing, or use a TalkBack pad. With several on, their crosspoints are added together.
  • TalkBack pads. Right-click a Control-window pad and choose a TalkBack preset; it turns purple. A click latches it on or off; holding it for a moment talks only while held. Any number can be on, and they never change Main’s preset.
  • Dim while talking. Each TalkBack preset has Dim main while talking (on by default): while it is on, Main is dimmed by its Dim amount and the Dim button shows TB DIM. Other matrices can be dimmed the same way by checking Dimmed by TalkBack in their tab’s right-click menu; each uses its own Dim amount.
  • Same output. TalkBack and Main can share an output device; macOS adds the two together.
  • While nothing is on and its page isn’t showing, TalkBack idles and costs almost nothing; it wakes within one audio block with a short fade-in. If TalkBack can’t start, Main still runs.

Named matrices Pro

Run as many routers as the job needs, side by side, each with its own devices.

The + beside the matrix tabs adds one of two kinds, or imports another session’s main matrix as either:

Router

Passes audio all the time, like Main. Its pads recall its presets.

Cue matrix

Silent until one of its presets is switched on from a pad, like TalkBack. Summed lets any number be on together; Switched allows one at a time.

Each matrix has its own devices, engine, grid, processing, meters and presets. Right-click its tab to rename it, give it a color, set a cue matrix’s pads to Summed or Switched, open it in a window of its own, export it as a session file, or delete it. Double-click a tab to open the matrix in its own window; any number can be open at once.

Tab order. Drag a named matrix’s tab onto another to move it, or use Move Left / Move Right in its menu. Main and TalkBack stay first. The order is saved with the session, and the Control window’s extra masters follow it. When there are more tabs than fit, the tab strip scrolls.

Tying matrices to Main

Let Main’s master section drive other matrices, so one fader runs the whole room.

Right-click a matrix’s tab and check any of these. Each is saved with the session.

Option What it does
Master Follows Monitor Mode Monitor mode applies to this matrix’s master too: presets don’t save or recall it. While Monitor mode is on, moving Main’s master moves this one by the same number of dB, so it keeps its own offset from Main (set that with its own fader). Main follows by default and can be untied.
Muted with Main Main’s Mute mutes and unmutes this matrix too. Its own Mute still works on its own.
Dimmed with Main Main’s Dim button dims this matrix too, by its own Dim amount.
Ref with Main Main’s Ref takes this matrix to its own Ref level, lit green, and back. Ref never moves matrices that don’t have this checked.
Dimmed by TalkBack TalkBack dims this matrix while talking, as it dims Main.
Master in Control Window Gives its master a fader in the Control window.

Checking Muted, Dimmed or Ref with Main matches Main’s current state straight away. Untying a matrix from Monitor mode while it is on brings back its preset’s own master level.

Channel processing

Press FX on any input or output (or ganged pair) to open its processing window.

Block What it does
High pass 24 dB/octave, 20 Hz–2 kHz.
EQ Up to 8 parametric bands (frequency, Q, gain), plus an optional low shelf and high shelf. Click or drag handles on the frequency-response graph, double-click the graph to add a band, or use the chips and fields below it.
AGC / compressor Threshold, ratio, attack, release and makeup gain, with a live transfer curve and a gain-reduction meter.
Delay 0–500 ms. Whole samples are exact; fractions use an allpass. The field shows the delay in samples at the current rate.
IIR A stereo HRTF Explorer filter. Ganged pairs only. See HRTF Explorer filters.
Low pass 24 dB/octave, 1–20 kHz.
Trim −24 to +12 dB.
Plugins Pro Up to 8 Audio Unit effects in series. See Audio Unit plugins.

The graph at the top of the window shows the combined effect of high pass, EQ and low pass. Double-click any knob to return it to its default.

Power button. Each block’s power button switches it on and off. The first time, it sets the block up with its defaults; after that it bypasses the block and keeps its settings, so switching it back on brings them all back. A bypassed block (orange) keeps running quietly, so it comes back without a click. Bypassing the Plugins block bypasses every plugin in it. Block bypass is saved in the preset.

Order

Blocks run top to bottom in the order shown, and the flow bar under the title shows the same chain (dimmed stages are off). Rearrange by dragging a block's grip onto another block, or with the arrows beside it. Reset order restores the default: high pass, EQ, AGC, delay, IIR, low pass, trim, plugins. Filters commute, so the graph doesn't change with order, but AGC, delay and trim are order-sensitive. To set one order everywhere, use Chain order… in the session bar: it applies to all inputs, all outputs, or both, and changes only the order.

Bypass

The B button, or the Bypass checkbox in the processing window, skips a channel's whole chain while keeping every setting. Bypass all FX (the button in the session bar and Control window, Processing ▸ Bypass All Processing, or a key you set) does it for every channel at once; it isn't saved and is off every time you launch or load a session. A bypassed chain keeps running silently, so its filters and delay lines are ready the instant you come back, and the change is crossfaded over one block so it never clicks.

Copying processing between channels

You rarely want to set up the same chain eight times.

  1. Open the source channel and press Copy to… in its processing window. Choose Whole channel (every block, plus chain order and bypass) or Chosen blocks and check the ones you want.
  2. Check the destinations. They can be inputs, outputs, or both; All and None are there for each side. A ganged pair is one destination and receives the copy on both channels.
  3. Press Copy. Or, to copy a single block, use the copy icon in the column beside that block.

Copying replaces the destination's settings for those blocks and leaves its other blocks alone (and, for a block copy, its order and bypass). The stereo IIR filter is only copied to ganged pairs.

Undo and redo

The arrow buttons in the processing window, or Processing ▸ Undo / Redo (⌥⌘Z / ⇧⌥⌘Z), step back through copies. One copy to many channels is one step. The history clears when you switch preset or load a session. Ordinary edits to knobs and handles aren't part of it.

HRTF Explorer filters

The IIR block loads a filter set exported from HRTF Explorer as a .h header.

It's a stereo filter, so it runs only on a ganged pair: gang the two channels first, then press Load .h file… in the IIR block. The block shows the file name, whether it is Left/Right or Mid/Side, the header format, each channel's order and delay, and the sample rate it was designed for.

  • If the file's design rate differs from the running rate, the block shows a warning and the channel's FX button gets an orange triangle. The filter keeps running, but its response is shifted, so use a header designed for the rate you run at.
  • Center trim (about ±645 µs at 48 kHz) starts at the trim the header was exported with and matches HRTF Explorer's own implementation, including one fixed sample of latency on both feeds. Dragging it keeps the filter's state, so it doesn't click.
  • The IIR block has its own Bypass checkbox.

Alignment reports

HRTF Explorer's Align Sets tab can save a text report with a delay for each set and a suggested bus EQ (Save Report…). Fulwave Monitor can read the EQ from it:

  • One channel: in the Parametric EQ block press Import EQ hints…, choose the report, and its bands are loaded. If the channel already has bands you choose Replace or Add (up to 8 bands).
  • Every HRTF pair at once: Processing ▸ Import Alignment Report to HRTF Channels… (or the Alignment report… button in the session bar) puts the suggested EQ on every ganged pair that has an HRTF filter loaded, on inputs and outputs. The report's EQ is meant for the summed output; EQ is linear, so applying it to each set before the sum is equivalent when the sets feed the same outputs. The whole import is one undo step.
  • Delays (optional): in the same dialog, check Set each pair's delay from the report to put each set's delay in its pair's Delay block. A set is matched to a pair by name: the report's set name against the header's file name, ignoring the extension, upper or lower case and a _cmsis or _sse ending. Pairs with no single match are left alone and listed. It is off by default, because headers written with Export Aligned Projects already contain their delay (HRTF_…_DELAY, which Monitor applies), and adding it again would double it. Use it with headers exported from the original projects.

Audio Unit plugins Pro

Put the effects you already own on any channel.

Every channel’s chain has a Plugins block (last by default, and movable like the others) that holds up to eight Audio Unit effects in series. Add Plugin lists the effects installed on your Mac by maker.

  • On a single channel each plugin runs in mono; on a ganged pair one stereo instance processes both channels. A plugin that can’t do the layout says so in red.
  • Edit… opens the plugin’s own window, or a slider per parameter if it has none.
  • Bypass is the plugin’s own, so it keeps running and doesn’t click when you switch it back.
  • Plugin settings are saved in the preset, and recalling a preset restores them.
  • Latency is shown next to each plugin and is not compensated.

Adding plugins needs Pro; plugins already in a session always run.

Blackmagic devices Pro

UltraStudio and DeckLink devices only pass audio while their video is running.

With Blackmagic’s free Desktop Video software installed and Pro unlocked, starting a matrix that uses one turns its video on for you, as Media Express and OBS do: its input follows the incoming signal, and its output sends black frames in the format chosen in Preferences ▸ General ▸ Blackmagic devices (1080p29.97 by default). The audio itself goes through Core Audio as usual. Only the devices a running matrix uses are turned on, so another one stays free for your video software. If another app already has the video running, its audio passes anyway.

Sharing a device with OBS or other video apps

The audio always comes through Core Audio, which any number of apps can use at once. The video of a DeckLink device can only be run by one app at a time, and it is first come, first served:

  • The video app starts first (OBS, Media Express, DaVinci Resolve…): Fulwave Monitor sees that the video is already running, leaves it alone, and uses the audio. Start the video app before pressing Start here if you need both.
  • Fulwave Monitor starts first: it holds the device’s video, so a video app that then tries to capture from or play out to that device is refused (OBS shows its DeckLink source with no picture). Stop audio here, start the video app, then press Start again.
  • The video app stops while Fulwave Monitor runs: Fulwave Monitor takes the video over within about a second, so the audio carries on after a short gap (the device’s driver only passes audio while its video runs).
  • To leave a device’s video to other apps entirely, turn off Turn on a Blackmagic device’s video while it is in use in Preferences ▸ General ▸ Blackmagic devices. The audio then passes only while another app runs the video.

Blackmagic Design, DeckLink, UltraStudio and Desktop Video are trademarks of Blackmagic Design Pty. Ltd.

Virtual audio devices

Send audio between apps and Fulwave Monitor without a cable. Free with the app, demo included.

Four loopback devices: Fulwave In 16, Fulwave Out 16, Fulwave TalkBack Out and Fulwave TalkBack In (16, 16, 2 and 2 channels). Whatever any app plays into one, any app can record from it, so a DAW, a recorder or a meeting app can feed Fulwave Monitor and take its outputs.

  1. Open Preferences ▸ General ▸ Virtual audio devices and press Install…. macOS asks for an administrator password.
  2. All Mac audio stops for a few seconds while macOS reloads its audio system. Fulwave Monitor stops its own audio first, then picks its devices again and starts again if it was running.
  3. The devices appear in the Input and Output menus of every app. Update… and Uninstall… are in the same place.

They run at 44.1–192 kHz and have no volume controls. Audio that hasn’t been written yet reads as silence.

Presets

A preset holds the whole state: every crosspoint level, the master and its assignments, mute and solo, gangs, and all the processing chains.

Use them to audition alternatives: a speaker feed against a headphone feed, a mix with and without a filter.

  • The preset menu in the session bar recalls a preset; recall is click-free. The Presets menu, the Control window’s pads, links and keys you set in Shortcuts recall them too.
  • Edits write through to the active preset. To branch before experimenting, press Duplicate first (or Presets ▸ New Preset from Current, ⇧⌘P). Rename… and Delete are beside it; the last preset can't be deleted.
  • Reverting an edit. A preset remembers what it held when the session was loaded or last saved. A preset that has been changed since then shows a • in the preset menu, and Revert and Save as New… appear beside it (also under Presets and the ⋯ menu). Revert to Saved puts it back. Save Changes as New Preset… keeps your current settings as a new preset and puts the original preset back to its saved state, without any change to what you hear.
  • Saving the session makes the current state the new saved state, so Revert goes back to the last save.
  • There is no limit to the number of presets. They're saved inside the session file.

Sessions & files

A session is a .fwm file holding every matrix (Main, TalkBack and any named ones) with its presets, which one is active and its devices (by identity), plus the eight Control-window pad assignments.

Use File ▸ New (⌘N), Open… (⌘O), Save (⌘S), Save As… (⇧⌘S), Rename Session… and Close Session (⇧⌘W). Double-click a .fwm in Finder to open it here.

  • Launch session. In Preferences ▸ General ▸ Launch session press Choose… to pick a session file that opens each time the app starts (File ▸ Use This Session at Launch sets it from the open session; Clear removes it). Double-clicking a .fwm file opens that one instead. If the file has moved, the app says so and starts untitled.
  • Startup. Preferences ▸ General ▸ Startup has Open Fulwave Monitor when I log in and Start audio processing when the app opens. Audio starts once the launch session has loaded. If the input or output device from last time, or saved with the session, isn’t connected, the app tells you and does not start; connect it or choose another, then press Start. An unlicensed copy still stops after 15 minutes.
  • Appearance. Preferences ▸ Appearance offers Follow system, Light, Dark and Classic, the light controls on a mid gray halfway between the system’s light and dark.
  • Closing or quitting with unsaved edits asks whether to save. Save is the default and keeps every preset as it is at that moment; the prompt names any preset you have adjusted.
  • Only one session is open, and only one copy of the app runs. Launching a second copy hands over to the first and quits.
  • If audio is running when you open or create a session, the app asks to stop it first. Press Start to run the new session.
  • The red dot only closes a window. The session and its audio carry on, so the Control window can be used on its own. Get the main window back with a Dock click or Window ▸ Show Main Window (⌘0).
  • Saved with the session, not with a preset: each matrix’s grid lock, Dim amount and Ref level, its ties to Main and to TalkBack, whether its master is in the Control window, the order of the matrix tabs, and the Monitor mode lock.
  • File ▸ Open Recent lists the sessions you opened or saved most recently.
  • Files from older versions keep loading. Version 1.3.1 and earlier open a newer session’s main matrix, but saving from there drops its other matrices.

The Control window

A small window for use while you listen.

It holds the master fader, Mute and Dim on the left, Monitor and Ref on the right (each with its level menu where it has one), how many crosspoints are on the master (with All / None), and eight preset pads. Open it with the Control button or Window ▸ Show Control Window (⌘9). It scales as you drag its edges.

Compact (or ⌥⌘9) shrinks it to a master knob (with the button to expand it again underneath), Mute, Dim, Monitor, Ref and eight narrow pads. Keep on top floats it over other apps, and All Spaces makes it follow you to every desktop and appear over full-screen apps. These choices are remembered, and both are also in Preferences ▸ Mixing. A window can only be on one display at a time, so with “Displays have separate Spaces” on, it stays on the display where you put it.

Pads for every matrix

Right-click a pad to give it a preset from any matrix. Main’s pads recall a preset. Another matrix’s pad shows its name and color: a router’s pad recalls one of its presets, and a TalkBack or cue pad switches its preset on or off (see TalkBack).

More masters Pro

Right-click a matrix’s tab and check Master in Control Window to give its master a fader of its own, named in its color and with its own Mute, to the left of Main’s (a knob in the compact layout). The window widens to fit. The faders follow the tab order mirrored, so the tab next to Main’s is the fader next to Main’s; drag the tabs to change it. The choice is saved with the session.

Dock click. Preferences ▸ Mixing ▸ Dock click sets what clicking the app’s Dock icon (or its entry in JumpDock) opens while it is running: the main window, the Control window or the compact Control window. Right-clicking the Dock icon also lists all three.

Meters

Every input and output has a level meter and a latching clip light. Choose the style in Preferences ▸ Meters.

Style Shows
Peak Sample peak.
Peak with hold Peak plus a hold marker (1, 2 or 5 seconds, or until reset).
RMS RMS level with a peak marker.
True peak 4× oversampled, so it finds overs between samples. It reads about 0.1 dB high in a worst-case test. Computed only while selected.

The range is 36, 48 or 60 dB. The clip light latches at 0 dBFS (0 dBTP for true peak). Click a meter, or choose Meters ▸ Reset (⌥⌘K), to clear holds and clip lights. The AGC block also has its own gain-reduction meter.

Performance

Only the channels in use are processed and metered, so a 12 × 8 grid costs a fraction of a 64 × 64 one.

In a release build with every one of 64 channels running high pass, low pass, three EQ bands, compression and delay, the engine takes about 4% of one core. At large sizes, drawing meters costs more than the audio does. Under Preferences ▸ Meters ▸ Performance you can:

  • Set the meter refresh rate (10–60 per second). The peak is held between updates, so a transient is never missed.
  • Turn the meters off for inputs, outputs or both. A silent 64 × 64 session dropped from about 36% CPU to about 3.5% with both off.
  • Skip processing on bypassed channels. This saves work with many channels bypassed, but the first moment after un-bypassing may click once.

The audio thread never waits: if you're mid-edit when a block is due, that block skips strip processing rather than glitching the stream.

A cue matrix or TalkBack with nothing switched on, and its page not showing, idles: no processing, mixing or meters, so it costs almost nothing until a pad wakes it.

Keyboard shortcuts

Shortcut Action
⌘, Preferences (General: license and Pro trial, Blackmagic devices, virtual audio devices, startup, launch session, updates; Appearance; Mixing: Monitor mode and its lock, shortcuts, links, Control window, Dock click; Meters: meters, performance)
⌘N ⌘O ⌘S ⇧⌘S ⇧⌘W New, Open, Save, Save As, Close Session
⌘0 / ⌘9 / ⌥⌘9 Main window / Control window / compact Control window
⌘= ⌘− ⌥⌘0 Zoom the grid in, out, fit
⇧⌘P New preset from the current state
⌥⌘L Lock / unlock the crosspoints
⌥⌘Z / ⇧⌥⌘Z Undo / redo a processing copy
⌥⌘K Reset peak holds and clip lights
Your own keys Preset pads 1–8, master volume up and down (0.5 dB and 3 dB steps) and to 0 dB, Mute, Dim, Ref, Monitor mode and Bypass all FX. Set them in Preferences ▸ Mixing ▸ Shortcuts…. Master volume starts on ⌥⌘↑ / ⌥⌘↓ (⇧ for 3 dB) and ⌥⌘\ for 0 dB. Turn on Work in any app to use them while another app is in front. A TalkBack pad’s key latches on a tap and talks while held, or, with TalkBack pad keys: Push to talk, talks only while held. Preset recall, Mute, Dim and Bypass all FX have no fixed keys.
Arrows, Return, digits In the grid: move the selection, type a level
⇧-click / right-click a cell Assign to master / switch the crosspoint off or on

FAQ & troubleshooting

There's no sound after pressing Start.
Check that the microphone permission is allowed (System Settings ▸ Privacy & Security ▸ Microphone); without it the inputs are silent. Then check the device mute and volume under the pickers, that the crosspoints you expect are blue, and that no channel is muted or another soloed.
The sample-rate warning appears.
Input and output devices at different rates drift apart. Use the button in the warning, or set both in Audio MIDI Setup, then press Start.
It says “Demo limit reached.”
That's the demo's 15-minute limit. Press Start to carry on, or activate a license in Preferences.
My named matrices disappeared.
They need Pro. When the 30-minute Pro trial ends, or a session with named matrices is opened without Pro, they stop and are hidden, but they are still in the session file: saving keeps them, and they come back when Pro is unlocked (a Pro key, or the next launch’s trial).
The MONITOR button won’t switch.
Monitor mode is locked in this session: the button shows a lock. Right-click it and uncheck Lock Monitor Mode, or use Preferences ▸ Mixing.
A tied matrix doesn’t move with Main’s master.
Main’s master moves tied matrices only while Monitor mode is on, and only matrices with Master Follows Monitor Mode checked in their tab’s right-click menu. Ref moves only matrices with Ref with Main checked, to their own Ref level; if that is where the master already is, nothing moves.
TalkBack is silent.
TalkBack needs its own input and output devices, chosen on its page, and is silent until one of its presets is on (Talk on its page, or a TalkBack pad). New TalkBack presets have every crosspoint off, so route the mic to the outputs you want first.
OBS shows no picture from my Blackmagic device, or my audio stops when OBS closes.
Only one app at a time can run a DeckLink device’s video. If Fulwave Monitor started first, it holds the video: stop audio here, start OBS, then press Start again. If OBS started first and then quits, Fulwave Monitor takes the video over within about a second and the audio carries on. See Blackmagic devices.
My license key is rejected.
Check that you pasted the whole key, that it's for Fulwave Monitor (a key for another Fulwave product isn't accepted), and that your Mac is online. If it reports an activation limit, press Deactivate this Mac on one you no longer use, or email support.
The HRTF filter isn't doing anything.
It needs a ganged pair; the block says if it is missing. Also check that the IIR block's Bypass isn't checked and the channel itself isn't bypassed. If the FX button shows an orange triangle, the header was designed for a different sample rate than you are running: the filter works but its response is shifted, so load a header made for the running rate.
I can't change a crosspoint.
The grid is probably locked (orange border, and a Lock button showing “Locked” in the master bar). Press it, or use Master ▸ Unlock Crosspoints ( ⌥⌘L). The lock is saved with the session.
I changed a preset and want the old one back.
A • beside the preset name means it differs from when the session was loaded or last saved. Press Revert to go back, or Save as New… to keep your changes as a new preset and restore the original.
I hear a click when I un-bypass a channel.
That's only possible with “Skip processing on bypassed channels” on, because the idle filters start from old state. Turn it off for click-free bypass.
Double-clicking a .fwm opens another app.
In Finder choose the file ▸ Get Info ▸ Open with ▸ Fulwave Monitor ▸ Change All.
Does it need extra drivers, or work with virtual devices?
No drivers are needed. Any Core Audio device appears in the pickers: built-in, USB and Thunderbolt interfaces, aggregate devices and virtual devices. The app also includes its own free virtual audio devices, which you can install from Preferences. Blackmagic UltraStudio and DeckLink devices need Blackmagic’s Desktop Video software and Pro.

Support

Questions, bug reports, or feature requests: use the support form and choose Fulwave Monitor.

When reporting a problem, tell us your macOS version, your input and output devices, and the sample rate they were running at.