xmp (1) - Linux Manuals


xmp - Extended Module Player


xmp [-a, --amplify factor] [-b, --bits bits] [-c, --stdout] [-D device-specific parameters] [-d, --driver driver] [-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] [-N, --null] [--nocmd] [-o, --output-file filename] [--offset-bug-emulation] [-P, --pan pan] [--probe-only] [-q, --quiet] [-R, --random] [-S, --solo channel-list] [-s, --start pos] [-t, --time time] [-u, --unsigned] [--vblank] [-V, --version] [-v, --verbose] [-Z, --all-sequences] [-z, --sequence] 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.


-a, --amplify factor
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.
-b, --bits bits
Set the software mixer resolution (8 or 16 bits). If ommited, The audio device will be opened at the highest resolution available.
-c, --stdout
Mix the module to stdout.
-D device-specific parameter
Pass a configuration parameter to the device driver. See the DEVICE DRIVER PARAMETERS section below for a list of known parameters.
-d, --driver driver
Select the output driver. If not specified, xmp will try to probe each available driver.
-F, --nofilter
Disable IT lowpass filter effect and envelopes.
-f, --frequency rate
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.
-h, --help
Show a short summary of command-line options.
-I, --instrument-path path
Set the pathname to the directory containing external samples.
-i, --interpolation type
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.
-L, --list-formats
List supported module formats.
-l, --loop
Enable module looping.
Loop over the entire module list.
-M, --mute channel-list
Mute the specified channels. channel-list is a comma-separated list of decimal channel ranges. Example: 0,2-4,8-16.
-m, --mono
Force mono output (default is stereo in stereo-capable devices).
-N, --null
Load and mix module, but discard output data (same as --device=null).
Disable interactive commands.
-o, --output-file filename
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.
Emulate Protracker 2.x handling of effect 0x09 (set sample offset).
-P, --pan num
Set the percentual panning amplitude.
Exit after probing the audio device.
-R, --random
Play modules in random order.
-r, --reverse
Reverse left/right stereo channels.
-S, --solo channel-list
Play only the specified channels. channel-list is a comma-separated list of decimal channel ranges. Example: 0,2-4,8-16.
-s, --start pos
Start playing the module from the position pos.
-t, --time time
Specifies the maximum playing time to time seconds.
-u, --unsigned
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).
-V, --version
Print version information.
-v, --verbose
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).
-Z, --all-sequences
Play all hidden or alternative pattern sequences (subsongs) in module.
-z, --sequence num
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:

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

ALSA driver options:

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

OSS driver options:

-D frag=num,size
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.
-D dev=device_name
Set the audio device to open. Default is /dev/dsp.
-D nosync
Don't sync the OSS audio device between modules.

BSD driver options:

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

HP-UX and Solaris driver options:

-D gain=value
Set the audio gain. Valid values range from 0 to 255. The default is 128.
-D port={s|h|l}
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.
-D buffer=size
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:
q, Esc
Stop the currently playing module and quit the player.
f, Right
Jump to the next pattern.
b, Left
Jump to the previous pattern.
n, Up
Jump to the next module.
p, Down
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 sequence.
Toggle subsong explorer mode.
Toggle module/sequence looping.
Display module information.
Display combined instrument/sample list.
Display instrument list.
Display sample list.
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.