Scroll to navigation

XMP(1) Extended Module Player XMP(1)


xmp - Extended Module Player


xmp [-a, --amplify factor] [-b, --bits bits] [-C, --show-comments] [-c, --stdout] [-D device-specific parameters] [-d, --driver driver] [-e, --player-mode mode] [-F, --nofilter] [-f, --frequency rate] [--fix-sample-loop] [-h, --help] [-I, --instrument-path] [-i, --interpolation type] [--load-only] [-L, --list-formats] [-l, --loop] [--loop-all] [-M, --mute channel-list] [-m, --mono] [--mixer_voices num] [-N, --null] [--nocmd] [-o, --output-file filename] [-P, --pan num] [-p, --default-pan num] [--probe-only] [-q, --quiet] [-R, --random] [-S, --solo channel-list] [-s, --start pos] [-t, --time time] [-u, --unsigned] [--vblank] [-V, --version] [-v, --verbose] [-x, --classic] [-Z, --all-sequences] [-z, --sequence num] modules


xmp is a tracked music module player. It plays many module formats including Fasttracker II (XM), Noise/Fast/Protracker (MOD), Scream Tracker 3 (S3M) and Impulse Tracker (IT). Run xmp --list-formats for a complete list of supported formats.


Amplification factor for the software mixer. Valid amplification factors range from 0 to 3. Default is 1. . Warning: higher amplification factors may cause distorted or noisy output.
Set the software mixer resolution (8 or 16 bits). If omitted, The audio device will be opened at the highest resolution available.
Display module comment text, if any.
Mix the module to stdout.
Pass a configuration parameter to the device driver. See the DEVICE DRIVER PARAMETERS section below for a list of known parameters.
Select the output driver. If not specified, xmp will try to probe each available driver.
Force play mode or emulation of a specific tracker. Valid player modes are: auto (autodetection), mod (generic mod player mode), noisetracker, protracker (Protracker 1/2), s3m (generic S3M player mode), st3 (Scream Tracker 3), st3gus (Scream Tracker 3 with GUS card), xm (generic XM player mode), ft2 (Fasttracker II), it (Impulse Tracker), or itsmp (Impulse Tracker in sample mode). When a specific tracker is specified, xmp will try to emulate quirks and bugs for accurate replay. Default is autodetection.
Disable IT lowpass filter effect and envelopes.
Set the software mixer sampling rate in hertz.
Halve sample loop start values. Use it to work around bad conversions from 15-instrument modules and to correctly play NoisePacker v2 and certain UNIC files.
Show a short summary of command-line options.
Set the pathname to the directory containing external samples.
Select interpolation type. Available types are nearest for nearest-neighbor interpolation, linear for linear interpolation, and spline for cubic spline interpolation. Default is cubic spline.
Load module and exit.
List supported module formats.
Enable module looping.
Loop over the entire module list.
Mute the specified channels. channel-list is a comma-separated list of decimal channel ranges. Example: 0,2-4,8-16.
Force mono output (default is stereo in stereo-capable devices).
Set the maximum number of virtual channels (default is 128).
Load and mix module, but discard output data (same as --device=null).
Disable interactive commands.
Set the output file name when mixing to raw or WAV files. If '-' is given as the file name, the output will be sent to stdout.
Set the percentual panning amplitude.
Set the percentual default pan setting for modules that don't set their own pan values. Useful to reduce LRRL pan separation on headphones. This parameter does not affect the Amiga 500 classic mixer.
Exit after probing the audio device.
Play modules in random order.
Reverse left/right stereo channels.
Play only the specified channels. channel-list is a comma-separated list of decimal channel ranges. Example: 0,2-4,8-16.
Start playing the module from the position pos.
Specifies the maximum playing time to time seconds.
Tell the software mixer to use unsigned samples when mixing to a file (default is signed).
Force Amiga vblank-based timing (no CIA tempo setting).
Print version information.
Verbose mode (incremental). If specified more than once, the verbosity level will be increased (no messages will be displayed when the player runs in background).
Use classic sound mixers, if available for the format being played. For Amiga formats such as Protracker, the classic mode mixer models the sound of an Amiga 500, with or without the led filter.
Play all hidden or alternative pattern sequences (subsongs) in module.
Play hidden or alternative pattern sequence num (0 is the main sequence).


Use the option -D to send parameters directly to the device drivers. Multiple -D options can be specified in the command line.

File output options:

Generate big-endian 16-bit samples (default is the machine byte ordering).
Generate little-endian 16-bit samples (default is the machine byte ordering).

ALSA driver options:

Set buffer size in ms. Default value is 250.
Set period time in ms. Default value is 50.
Choose the ALSA device to use. Default value is "default".

OSS driver options:

Set the maximum number of fragments to num and the size of each fragment to size bytes (must be a power of two). The number and size of fragments set a tradeoff between the buffering latency and sensibility to system load. To get better synchronization, reduce the values. To avoid gaps in the sound playback, increase the values.
Set the audio device to open. Default is /dev/dsp.
Don't sync the OSS audio device between modules.

BSD driver options:

Set the audio gain. Valid values range from 0 to 255. The default is 128.
Set the size in bytes of the audio buffer. Default value is 32 Kb.

CoreAudio driver options:

Set buffer size in ms. Default value is 250.

HP-UX and Solaris driver options:

Set the audio gain. Valid values range from 0 to 255. The default is 128.
Set the audio port. Valid arguments are s for the internal speaker, h for headphones and l for line out. The default is the internal speaker.
Set the size in bytes of the audio buffer. The default value is 32 Kb.


The following single key commands can be used when playing modules:

Stop the currently playing module and quit the player.
Jump to the next pattern.
Jump to the previous pattern.
Jump to the next module.
Jump to the previous module.
Pause or unpause module replay.
1, 2, 3, 4, 5, 6, 7, 8, 9, 0
Mute/unmute channels 1 to 10.
Unmute all channels.
Display available commands.
Display current mixer type.
Enable classic mixers (if available).
Display current sequence.
Toggle subsong explorer mode.
Toggle module/sequence looping.
Display module information.
Display combined instrument/sample list.
Display instrument list.
Display sample list.
Display comment, if any.
Change to previous sequence (subsong).
Change to next sequence (subsong).

Interactive mode can be disabled using the --nocmd command line option.


Play module and save output in a .wav file:

xmp -ofilename.wav module.mod

Play module muting channels 0 to 3 and 6:

xmp --mute=0-3,6 module.mod.gz

Play modules in /dev/dsp using the default device settings (unsigned 8bit, 8 kHz mono):

xmp -o/dev/dsp -f8000 -m -b8 -u module.lha

Play all XM modules in the /mod directory and all subdirectories in random order, ignoring any configuration set in the xmp.conf file:

xmp --norc -R `find /mod -name "*.xm" -print`


/etc/xmp/xmp.conf, $HOME/.xmp/xmp.conf, /etc/xmp/modules.conf, $HOME/.xmp/modules.conf


Claudio Matsuoka and Hipolito Carraro Jr.

Version 4.1.0 Jul 2016