Free 30-day trial. macOS first. Join the waitlist.
← Formats

.xpm

What an MPC program file contains, and what reads it.

What it is

An .xpm is a keygroup program: the file an Akai MPC loads when it plays a mapped set of samples. The format is XML, so you can open it in an editor and see the whole program. Keygroup assignments, envelope and filter settings, sample names.

The program itself does not contain any audio. It's a description of how the WAV files are mapped to the pads, and the WAV files themselves live in the same folder as the program.

Kit Name/
  Kit Name.xpm
  Kick 01.wav
  Snare 03.wav
  ...

What is inside

The XML nests four levels deep. A program holds instruments, and each instrument holds its velocity layers.

MPCVObject
  Program type="Keygroup"
    Instruments
      Instrument     one per root note
        Layers
          Layer      one per velocity layer

Vocabulary

MPC calls this a keygroup program, but it's essentially a multisample instrument: a multisample in Ableton or an Instrument in Kontakt, all the same thing.

The MPC screen says keygroup where the file says Instrument. They are the same object seen from two directions.

What reads it

MPC hardware (Live II, One, X, Key 61) and MPC Software on the desktop, which opens the same file directly. Akai Force reads it too.

The browser on the hardware walks the file system, so the folder can sit anywhere: an SD card, a USB drive or the internal drive on models that have one. Loading the .xpm pulls in the samples automatically.

The off-by-one

One thing to know if you ever write an .xpm yourself. The RootNote value in a layer is stored as the MIDI note number plus one, so middle C at MIDI 60 is written as 61.

It is a quirk of the format rather than a mistake, and every tool that writes a working .xpm has to account for it. Read the value back without subtracting and every sample in the program sits a semitone off.

The limits

A program holds up to 128 keygroups, and each keygroup holds up to 4 velocity layers. An instrument mapped with more notes or deeper velocity switching than that gets reduced when it is written, and the reduction is silent. If the mapping matters, check the result on the device before you rely on it.

Because the program refers to its samples by name, moving the .xpm away from its WAVs breaks it. Keep the folder together.