Skip to content

Input Capture

MZAP can capture live audio from input devices and route it through the matrix router like any other player.

  • WASAPI input — Microphones, line-in, and other recording devices
  • ASIO input — Individual channels on ASIO audio interfaces
  • Loopback — Capture the output of another audio device (what-you-hear)
  • Process loopback — Capture audio from a specific running application (e.g. Spotify, Chrome)

Each input source is a dedicated player in MZAP that can be routed to any combination of output zones using the standard matrix routing.

Input players are created on demand from the Players view Create dropdown (microphone, line-in, and ASIO inputs are no longer auto-created one-per-channel at startup):

  • Add input… — opens a dialog with two dropdowns: the input device, then the channel (All channels, or a specific channel index for multi-channel/ASIO hardware). The name auto-fills from the device and channel when left blank.
  • Capture system audio… — picks a loopback (system-audio) device/channel.
  • Capture app… — per-application capture (see below); only shown when licensed.

Loopback players are also created automatically for the system-audio devices present when you create a demo workspace on first run.

To re-point an existing input or loopback player to a different device/channel, use the pencil (edit) button in its detail header — see Zones and Players. You don’t need to delete and recreate the player.

  • Route a microphone to specific announcement zones
  • Capture a DJ mixer output and distribute to multiple rooms
  • Re-route audio from one device to another via loopback capture
  • Pull audio from a single app while leaving other system sounds untouched

Process loopback captures audio from one specific application instead of the whole system. Only the chosen app’s audio is picked up; everything else stays silent.

  • Windows 10 build 19041 (version 2004, May 2020) or later
  • The ProcessLoopback license feature

In the create-player form, click Capture app audio… to open the picker. The list shows currently audible apps first (those with an active audio session), followed by other running apps with visible windows. Toggle Include child processes to control whether multi-process apps (Chrome, Edge) are captured as a group — on by default.

If the target app isn’t running yet, the player sits in an Attaching state and auto-attaches within about two seconds of the process appearing. To rebind an existing capture player to a different app, click the target-app chip next to the state badge in the player detail view.

When a process loopback player is attached, its tile in the Players view shows the captured app’s process name (e.g. Spotify.exe) on the top line and that app’s main window title on the Now Playing line. Many media apps put the current track into their window title, so for Spotify, Chrome / YouTube, VLC, foobar2000, and similar players you’ll see the track name appear automatically — no per-app integration required.

The window title is polled about once a second on the same tick that updates other player state. Titles that just echo the app name (e.g. a bare Spotify or Spotify Premium between songs) are suppressed so the line stays empty until a real track plays. The same behavior applies in the player detail view.

  • Only the default render endpoint is captured (per-endpoint selection is a future enhancement).
  • DRM-protected streams (Netflix, Spotify PlayReady content) produce silence — Windows marks the capture buffer silent, and this cannot be bypassed.
  • Attaching to an elevated target from an unelevated MZAP fails. Run MZAP elevated if you need to capture elevated apps.