---
name: "xxmp"
section: "1"
platform: "linux"
package: "xmp-x11"
version: "2.0.4d-11"
release: "Debian 4.0 (Etch)"
platforms: ["linux"]
url: "https://new.carta.tech/xxmp"
---

# xxmp(1)

Extended Module Player

## NAME

xmp, xxmp - Extended Module Player

## SYNOPSIS

**xmp** \[**-8, --8bit**\] \[**--big-endian**\] \[**-b, --bits** *bits*\] \[**-c, --stdout**\] \[**--chorus** *depth*\] \[**-D** *device-specific parameters*\] \[**-d, --driver** *driver*\] \[**--fix-sample-loop**\] \[**-f, --frequency** *rate*\] \[**-h, --help**\] \[**-i, --interpolate**\] \[**--load-only**\] \[**-l, --loop**\] \[**--little-endian**\] \[**-M, --mute** *channel-list*\] \[**-m, --mono**\] \[**--nocmd**\] \[**--nofilter**\] \[**--nopan**\] \[**--norc**\] \[**-o, --output-file** *filename*\] \[**-P, --pan** *pan*\] \[**--probe-only**\] \[**-R --random**\] \[**-r --reverse**\] \[**--reverb** *depth*\] \[**--realtime**\] \[**-S, --solo** *channel-list*\] \[**-s, --start** *pos*\] \[**--stereo**\] \[**-T, --tempo** *bpm*\] \[**-t, --time** *time*\] \[**-u, --unsigned**\] \[**-V, --version**\] \[**-v, --verbose**\] *modules*

## DESCRIPTION

**xmp** is a tracked music module player. It recognizes dozens of module formats including Fasttracker II (XM), Noise/Fast/Protracker (MOD), Scream Tracker 3 (S3M) and Impulse Tracker (IT). Use `xmp --help` for a complete list of supported formats.

**xmp** can play through several output devices including the Open Sound System sequencer, linear and ulaw PCM audio devices or mixing to a file.

## OPTIONS

- **-8, --8bit**

  Convert 16 bit samples to 8 bit. You may want to use this mode to save memory in the sound device (AWE cards will ignore this mode and always work with 16 bit samples).

- **--big-endian**

  Tell the software mixer to work with big-endian samples when using the software mixer (default is the machine byte ordering).

- **-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.

- **--chorus** *depth*

  Set chorus depth (if available).

- **-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.

- **--fix-sample-loop**

  Force sample loop start in samples instead of 16-bit words. This option affects only MOD files.

- **-f, --frequency** *rate*

  Set the software mixer sampling rate in hertz.

- **-h, --help**

  Show a short summary of command-line options.

- **-i, --interpolate**

  Enable or disable the software mixer interpolation routines.

- **-l, --load-only**

  Exit after loading the module&.

- **-l, --loop**

  Enable module looping and backward pattern jumps.

- **--little-endian**

  Tell the software mixer to work with big-endian samples when using the software mixer (default is the machine byte ordering).

- **-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).

- **--nocmd**

  Disable interactive commands.

- **--nofilter**

  Disable IT filters. When using the software mixer, IT filters can significantly increase CPU usage on slow machines. In this case, disable filtering with this option.

- **--nopan**

  Disable dynamic panning. This option can be used to prevent clicking when playing in AWE32 cards. Module formats that rely only in dynamic pan setting to produce stereo output (e.g. XM) will use the MOD channel panning (LRRL).

- **--norc**

  Don't read the configuration files.

- **-o, --output-file** *filename*

  Mix the module to a file. If ´-´ is given as the file name, the output will be sent to stdout.

- **-P, --pan** *num*

  Set the percentual panning amplitude.

- **-l, --probe-only**

  Exit after probing the audio device.

- **-R, --random**

  Play modules in random order.

- **--realtime**

  Play modules in realtime priority (available for FreeBSD).

- **-r, --reverse**

  Reverse the left/right stereo channels.

- **--reverb** *depth*

  Set reverb depth (if available).

- **-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*.

- **--stereo**

  Force stereo output.

- **-t, --tempo** *bpm*

  Set the initial tempo in beats per minute (default is 125).

- **-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).

- **-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)

## 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.

OSS sequencer:

- **-D** *awechorus=mode*

  Set the chorus mode in AWE cards. Valid modes range from 0 to 7 (CHORUS\_1, CHORUS\_2, CHORUS\_3, CHORUS\_4, FEEDBACK, FLANGER, SHORTDELAY, SHORTDELAY2).

- **-D** *awereverb=mode*

  Set the reverb mode in AWE cards. Valid modes range from 0 to 7 (ROOM1, ROOM2, ROOM3, HALL1, HALL2, PLATE, DELAY, PANNINGDELAY).

- **-D** *opl2*

  Open the sequencer in OPL2 FM mode instead of sample mode. This parameter is required to play modules with FM instruments (RAD, AMD, S3M).

- **-D** *dev=device\_name*

  Set the sequencer device to open. Default is /dev/sequencer.

OSS software mixing:

- **-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.

HP-UX and Solaris audio:

- **-Dgain=***gain*

  Set the audio gain. Valid values go from 0 to 255. The default value is 128.

- **-Dport=***{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.

- **-Dbuffer=***size*

  Set the size in bytes of the audio buffer. The default value is 32 Kb.

## INTERACTIVE COMMANDS

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

- **q**

  Stop the currently playing module and quit the player.

- **f**

  Jump to the next pattern.

- **b**

  Jump to the previous pattern.

- **n**

  Jump to the next module.

- **p**

  Jump to the previous module.

- **SPACE**

  Pause the module.

- **1**, **2**, **3**, **4**, **5**, **6**, **7**, **8**, **9**, **0**

  Mute/unmute channels 1 to 10.

- **!**

  Unmute all channels.

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

## EXAMPLES

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` ``

## BUGS

- o

  Handling of multi-file modules is confuse.

- o

  Instruments with big-endian 16 bit samples will not load correctly.

- o

  Command line options **-M** and **-S** don´t work correctly with xxmp.

## FILES

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

## ENVIRONMENT VARIABLES

- XMP\_DRIVER\_PATH

  Path to the dynamically linked drivers (only used if xmp was compiled with --enable-dynamic).

## AUTHOR

Claudio Matsuoka \<*claudio@helllabs.org*\> and Hipolito Carraro Jr \<*hipolito@onda.com.br*\>. Portions of code used in xmp have been contributed by several other authors, check docs/CREDITS for the complete list.
