NAME¶
xmp - Extended Module Player
SYNOPSIS¶
xmp [
-8, --8bit] [
-a, --amplify factor] [
-b,
--bits bits] [
-c, --stdout] [
--chorus depth]
[
-D device-specific parameters] [
-d, --driver
driver] [
--fix-sample-loop] [
-F, --click-filter] [
-f, --frequency rate] [
-h, --help] [
-I,
--instrument-path] [
-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] [
--realtime] [
--reverb depth] [
-r --reverse] [
--show-time] [
-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).
- -a, --amplify factor
- Amplification factor for the software mixer. Valid
amplification factors are 0 (normal), 1 (x2), 2 (x4) and 3 (x8). Warning:
amplification factors higher than 0 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.
- --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, --click-filter
- Use the LPF filter to remove clicks from the software mixer
output.
- -f, --frequency rate
- Set the software mixer sampling rate in hertz.
- -h, --help
- Show a short summary of command-line options.
- -I, --instrument-path path
- Set the pathname to the directory containing external
samples.
- -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.
- --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).
- --show-time
- Display elapsed and remaining time.
- -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:
- -D gain=value
- Set the audio gain. Valid value goes 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.
File output:
- -D big-endian
- Generate big-endian 16-bit samples (default is the machine
byte ordering).
- -D little-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`
ENVIRONMENT¶
- XMP_INSTRUMENT_PATH
- Pathname to directory containing samples if not contained
in the module.
- XMP_MED2_INSTRUMENT_PATH
- Overrides samples directory for the MED2 loader.
FILES¶
/etc/xmp/xmp.conf, $HOME/.xmp/xmp.conf, /etc/xmp/modules.conf,
$HOME/.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.