XMP(1)
π NAME π
xmp β Extended Module Player πΆ
okay so. bestie. it's a module player. that's the whole vibe.
πΈ SYNOPSIS πΈ
xmp [-a, --amplify factor] [-A, --amiga] [-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]
[-Z, --all-sequences] [-z, --sequence num] modules
π¦ DESCRIPTION π¦
xmp is a tracked music module player, and it literally eats. It plays sooo many module formats, including Fasttracker II (XM), Noise/Fast/Protracker (MOD), Scream Tracker 3 (S3M) and Impulse Tracker (IT) π§.
Want the whole list of formats it can handle? Run xmp --list-formats and prepare to be obsessed π
β¨ OPTIONS β¨
-a,--amplify factorβ the amplification factor for the software mixer π₯. Valid amplification factors range from0to3. Default is1.
β οΈ Warning bestie: higher amplification factors may cause distorted or noisy output. no cap, tread carefully.
-A,--amigaβ use a mixer which models the sound of an Amiga 500, with or without the led filter ποΈ.-b,--bits bitsβ set the software mixer resolution (8,16,24, or32bits). If omitted, the audio device will be opened at 16-bit resolution.-C,--show-commentsβ display module comment text, if any π¬.-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,xmpwill try to probe each available driver.-e,--player-mode modeβ 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), oritsmp(Impulse Tracker in sample mode). When a specific tracker is specified,xmpwill try to emulate quirks and bugs for accurate replay π. Default is autodetection.-F,--nofilterβ disable IT lowpass filter effect and envelopes.-f,--frequency rateβ set the software mixer sampling rate in hertz.--fix-sample-loopβ 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 arenearestfor nearest-neighbor interpolation,linearfor linear interpolation, andsplinefor cubic spline interpolation. Default is cubic spline β¨.--load-onlyβ load module and exit. that's it, that's the whole thing βοΈ.-L,--list-formatsβ list supported module formats.-l,--loopβ enable module looping π.--loop-allβ loop over the entire module list.-M,--mute channel-listβ mute the specified channels.channel-listis 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).--mixer-voices numβ set the maximum number of virtual channels (default is128).-N,--nullβ load and mix module, but discard output data (same as--device=null).--nocmdβ 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.-P,--pan numβ set the percentual panning amplitude.-P,--default-pan numβ 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.--probe-onlyβ 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-listis a comma-separated list of decimal channel ranges. Example:0,2-4,8-16.-s,--start posβ start playing the module from the positionpos.-t,--time timeβ specifies the maximum playing time totimeseconds.-u,--unsignedβ tell the software mixer to use unsigned samples when mixing to a file (default is signed).--vblankβ 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 sequencenum(0is the main sequence).
π«Ά DEVICE DRIVER PARAMETERS π«Ά
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 is250.-D period=valueβ set period time in ms. Default value is50.-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 tonumand the size of each fragment tosizebytes (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 from0to255. The default is128.-D buffer=sizeβ set the size in bytes of the audio buffer. Default value is32Kb.
π CoreAudio driver options:
-D buffer=valueβ set buffer size in ms. Default value is250.
π HP-UX and Solaris driver options:
-D gain=valueβ set the audio gain. Valid values range from0to255. The default is128.-D port={s|h|l}β set the audio port. Valid arguments aresfor the internal speaker,hfor headphones andlfor line out. The default is the internal speaker.-D buffer=sizeβ set the size in bytes of the audio buffer. The default value is32Kb.
π INTERACTIVE COMMANDS π
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.Spaceβ pause or unpause module replay.1,2,3,4,5,6,7,8,9,0β mute/unmute channels 1 to 10.!β unmute all channels.h,?β display available commands.Xβ display current mixer type.Zβ display current sequence.zβ toggle subsong explorer mode.lβ toggle module/sequence looping.mβ display module information.iβ display combined instrument/sample list.Iβ display instrument list.Sβ display sample list.cβ 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.
π EXAMPLES π
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`
π FILES π
/etc/xmp/xmp.conf$HOME/.xmp/xmp.conf/etc/xmp/modules.conf$HOME/.xmp/modules.conf
π AUTHORS π
Claudio Matsuoka and Hipolito Carraro Jr. β absolute icons, fr fr π«Ά
and that's the whole page bestie!! π this was Version 4.3.1, dated July 2026, periodt β¨ go play some modules, ily π¦
π¦ where this page comes from
- fedora 44: xmp 4.3.1-1.fc44 Β· GPL-2.0-or-later
- nixpkgs unstable: xmp 4.3.1
- ubuntu stonking: xmp 4.3.1-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms