← All mods

USB audio interface

The MPC as a USB audio interface in standalone mode: record its outputs, play a computer or phone into it.

Trigger
USB-B to a computer or phone
MPC versions
Any (tested on 3.10.0)

What it does

Plug the MPC's USB-B port into a computer or a phone and it shows up as an audio device, without leaving standalone mode.

  • Computer or phone to MPC: stereo, mixed into MPC inputs 1/2 on top of whatever is plugged into the physical inputs. Turn on input monitoring to hear it, sample it on the Sample screen, or grab it with skip-back. It's heard within a few milliseconds, including on the first play and after a pause.
  • MPC to computer: four channels, main out L/R and then the inputs L/R (before the computer's audio is mixed in), about 8 to 12 ms behind.

Both 44.1 and 48 kHz are offered. At 44.1 kHz the audio passes through bit for bit. At 48 kHz the mod converts to and from the MPC's 44.1 kHz with a converter that stays flat to 20 kHz. 48 kHz is there for phones like the Google Pixel 9a, whose 44.1 kHz USB audio is broken and buzzes.

Opening a project restarts MPC, but the USB device stays connected, so the computer never sees the MPC unplug. On macOS the device is listed as "Playback Inactive": that name is built into the USB audio driver on the MPC's side, and the mod can't change it.

How to use it

  1. Connect the MPC's USB-B port to the computer or phone.
  2. Choose the MPC as the input or output in your DAW or on the phone. It's called "MPC USB Audio", or "Playback Inactive" on macOS.
  3. To hear or sample computer audio on the MPC, turn on monitoring for inputs 1/2.

Settings

In usb-audio.conf (read when MPC starts):

Setting Default What it does
usb_rates 0 Rates offered: 0 = 44.1 and 48 kHz, 1 = 44.1 only, 2 = 48 only. A change needs one re-plug.
input_mode 1 1 mixes computer audio into inputs 1/2, 0 drops it.
target_frames 256 Audio queued before it flows (256 = 5.8 ms). Lower is less delay, higher is safer.
enabled 1 0 turns the mod off and removes the USB device.

Diagnostics: test_tone, verbose, dump_capture_s, and the buffer and USB timing settings (cap_periods, fwd_period, fwd_periods, hs_bint, req_number, max_ppm, drift_bw).

How it works

In standalone mode the MPC One+ doesn't present itself over USB at all, so the mod sets up a standard USB audio device on the port as soon as MPC starts and moves audio between it and MPC's own audio streams. A small clock-drift controller keeps the two sides in step, and a device that ignores the USB rate feedback gets its excess trimmed rather than building up delay. If MPC switches to controller mode, the mod steps aside and comes back once the port is free.

It's based on Jacob Sabella's mpc-addin-usb-audio (MIT licence). The gadget setup, ring buffer, sample formats, channel maps and drift controller come from his work. This version fixes computer audio arriving seconds late or not at all, builds the device at once instead of after 30 seconds, keeps it across MPC restarts and adds 48 kHz.