XMP(1)

NAME
xmp - Extended Module Player

SYNOPSIS
xmp [-8, --8bit] [-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] [-M, --mute channel-list] [-m, --mono] [--nocmd] [--nofilter] [-n, --nearest] [--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 plays many 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 raw or WAV 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).

-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 software mixer linear interpolation.

--load-only
    Exit after loading the module&.

-l, --loop
    Enable module looping and backward pattern jumps.

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

-n, --nearest
    Enable software mixer nearest neighbor interpolation.

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

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

File output:

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

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

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.

NOTES
When using the OSS sequencer with an AWE card, xmp will wipe out any soundfonts already loaded in the card.

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`

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

AUTHOR
Claudio Matsuoka and Hipolito Carraro Jr. Portions of code used in xmp have been contributed by several other authors, see docs/CREDITS for the complete list.