Extended Module Player
$ xmp m5v-nwlf.itz
Extended Module Player 4.0.11
Copyright (C) 1996-2016 Claudio Matsuoka and Hipolito Carraro Jr
Using ALSA PCM audio
Mixer set to 44100 Hz, 16bit, cubic spline interpolated stereo
Press 'h' for help
Loading m5v-nwlf.itz... (1 of 1)
Module name : My New Life
Module type : Impulse Tracker 2.12 IT 2.00
Module length: 35 patterns
Patterns : 28
Instruments : 57
Samples : 86
Channels : 18 [ 0 f 3 b 8 1 5 8 a b 0 f 3 d 9 c 5 8 ]
Duration : 3min32s
Speed[04] BPM[87] Pos[05/22] Pat[0A/1B] Row[4D/7F] Chn[0F/11] 0:00:25.6
The Extended Module Player, or xmp, is a portable command-line module player.
Xmp plays many mainstream and obscure module formats including Protracker
(MOD), Scream Tracker 3 (S3M), Fast Tracker II (XM), and Impulse Tracker (IT).
Starting at release 4.0 xmp will be split into two different packages,
a library and a player application.
This version has many improvements over the 3.5 player, including
extensive code refactoring, improved IT support, better sound quality,
more built-in decompressors and many bugfixes.
The Library
Libxmp loads the module and renders the sound as linear PCM samples in a
buffer at rate and format specified by the user. Applications for libxmp
include players, module information extractors, module-to-mp3 renderers,
game music, etc. A smaller subset of libxmp is also available.
below).
The current stable version is 4.6.0 (released June 15 2023).
The "lite" version is a lightweight version of libxmp that plays MOD, S3M,
XM and IT modules, and retains full compatibility with the original API.
It's published under the MIT license, and it's intended for games and small
or embedded applications where module format diversity and file depacking
are not required.
Git development repository available at:
The Player
The current stable version is 4.2.0 (released June 15 2023, requires libxmp
4.4.0 or newer).
Git development repository available at:
Related projects
- Xmdp, a clone of the Future Crew MusicDisk Player using Libxmp and SDL2.
- Xmp for Android uses libxmp built with the Android NDK.
- Experimental Python bindings for libxmp. This is a work in progress and the API is still a bit unstable.
- WebXmp is an experimental JavaScript/HTML5 version of xmp written by Juergen Wothke.
- Chiptune.js is a javascript mod player that uses libxmp compiled with emscripten.
Supported formats
Modules
Xmp supports many module formats and variations. A few incomplete formats
such as DTT and DMF were disabled in recent releases. Currently libxmp
recognizes the following formats:
Amiga tracker formats
- ChipTracker: KRIS
- DIGI Booster: 1.4, 1.5, 1.6, 1.7
- DigiBooster Pro (DBM): DBM0
- Ice Tracker: IT10
- MED 1.12 (MED): MED2
- MED 2.10 (MED): MED3
- MED 3.00 (MED): MED4
- OctaMED (MED): MMD0, MMD1, MMD2, MMD3
- Oktalyzer (OKT)
- Protracker 3.59
- Protracker song
- Quadra Composer (EMOD): 0001
- Sound/Noise/Protracker standard 31-instrument (MOD): M.K., M!K!, M&K!, N.T.
- SoundFX (SFX): 1.3, 2.0?
- Soundtracker 15-instrument (MOD, M15)
- Soundtracker 2.6 MTN format
- Startrekker/Audio Sculpture (MOD, MOD.NT): FLT4/8/N, EXO4/8
- Ultimate Soundtracker 15-instrument (MOD)
PC tracker formats
- Composer 669/UNIS 669 (669): if, JN
- Digitrakker (MDL): 0.0, 1.0, 1.1
- Farandole Composer (FAR): 1.0
- Fast Tracker II extended module (XM): 1.02, 1.03, 1.04, MED2XM
- Fast Tracker multichannel (MOD): 6CHN, 8CHN
- Funktracker (FNK): R0, R1, R2
- Imago Orpheus (IMF): 1.0
- Impulse Tracker (IT): 1.00, 2.00, 2.14, 2.15
- Liquid Tracker (LIQ): 0.0, 1.0
- Mod's Grave 8-channel M.K. (MOD, WOW)
- Multitracker (MTM): 1.0
- Poly Tracker (PTM): 2.03
- Real Tracker (RTM): 1.00
- Scream Tracker 2 (STM): !Scream!, BMOD2STM
- Scream Tracker 3 (S3M): 3.00, 3.01+
- TakeTracker 4-channel (MOD): TDZ4
- TakeTracker/Fast Tracker II multichannel (MOD): xxCH
- Ultra Tracker (ULT): V0001, V0002, V0003, V0004
- X-Tracker (DMF): 7, 8
Amiga packed formats
- AC1D Packer
- Heatseeker: mc1.0
- FC-M Packer: 1.0
- Fuchs Tracker
- Fuzzac Packer
- Hornet Packer: HRT!
- Images Music System
- Kefrens Sound Machine
- Module Protector
- NoisePacker: 1.0, 2.0, 3.0
- NoiseRunner
- The Player: 4.x, 5.0a, 6.0a, 6.1a
- Tracker Packer: 3
- Power Music
- Pha Packer
- ProPacker: 2.1
- Promizer: 0.1, 1.0c, 1.8a, 2.0, 4.0
- ProRunner: 1.0, 2.0
- SKYT Packer
- StarTrekker Packer
- Titanics Player
- Unic Tracker: 1.0, 2.0
- Wanton Packer
- XANN Packer
- Zen Packer
PC packed formats
- Dual Module Player DSMI (AMF): 0.9, 1.0, 1.1, 1.2, 1.3, 1.4
- Generic Digital Music (GDM): 1.0
- ST Music Interface Kit (STX): 1.0, 1.1
Game formats
- AMOS Music Bank
- ASYLUM Music Format (AMF)
- Digital Illusions
- Game Music Creator (GMC)
- Epic Megagames MASI (PSM): Epic, Sinaria
- Galaxy Music System 5.0 (J2B)
- Galaxy Music System 4.0
- Magnetic Fields Packer
- Novotrade Packer
- Protracker Studio (PSM): 0.01, 1.00
- Slam Tilt
- Epic Games Unreal/UT (UMX): IT, S3M, MOD, XM
Atari formats
- Digital Tracker (MOD): FA04, FA06, FA08
- Digital Tracker (DTM): 1.9
- Flextrax (FLX) [effects not supported]
Graoumf Tracker (GTK): GTK1, GTK4
- Octalyser multichannel (MOD): CD61, CD81
TCB Tracker (MOD): 'AN COOL.'
Acorn formats
- Archimedes Tracker: V1.0+++
- Digital Symphony: 0
Desktop Tracker
Compressors
Xmp is able to play compressed modules using external helpers or built-in
depackers. In archived files only the first module will be played. Currently
recognized compressors are:
Built-in depackers
- Arc (.arc): old file archiver and compressor
- ArcFS: Acorn file archiver and compressor
- Bzip2 (.bz2): popular Unix/Linux file compressor
- Compress (.Z): old Unix file compressor
- Gzip (.gz): popular Unix/Linux file compressor
- LHA (.lha): Amiga/DOS file archiver and compressor
- LZX (.lzx): Amiga file archiver and compressor
- MMCMP: Music Module Compressor by Emmanuel Giasson
- MUSE (.j2b): GALAXY Music System compressor by Carlo Vogelsang
- OGGMod (.oxm): OGG-encoded XM modules
- PowerPacker (.pp): Amiga file compressor by Nico Francois
- !Spark: Acorn file archiver and compressor
- S404: Amiga StoneCracker file compressor
- SQSH: Amiga file compressor
- XFD: xfdmaster.library support (Amiga only)
- Zip (.zip): popular DOS/Windows file compressor
- xz (.xz): Unix/Linux file compressor
Using external helpers
- MO3 (.mo3): Linux/Windows/OSX IT/XM/S3M/MOD compressor [helper: unmo3]
- RAR (.rar): popular archiver and compressor [helper: unrar]
Tracker gallery
Screenshots
These are screenshots of different programs used to create, play or
manipulate tracker music. Some of them are quite obscure.
- Amiga trackers:
Digibooster 1.7,
Icetracker 1.1,
MED V1.12,
MED V2.00,
MED V3.00,
OctaMED V2.00,
OctaMED Professional (V4.00),
Protracker 2.3d,
Protracker 3.15,
Protracker 3.61,
Quadra Composer 2.1,
Soundtracker 2.6,
Startrekker 1.3
- PC trackers:
Digistudio 1.5,
Digitrakker 3.2,
Fast Tracker II 2.09,
Imago Orpheus 1.00,
Impulse Tracker 2.14,
Liquid Tracker 1.00,
Poly Tracker,
Real Tracker 2.01,
Scream Tracker 2.2,
Scream Tracker 3.21,
TakeTracker,
Ultratracker 1.6,
Whacker Tracker 1.00,
X-Tracker 1.03
- Atari trackers:
Flextrax 0.9,
Graoumf Tracker,
Megatracker 0.96,
TCB Tracker,
TCB Tracker 2.0s,
Octalyser
(more trackers at DHS)
- Amiga players and utilities:
ProWizard 2.20,
Noiseconverter 1.53,
Xmodule 3.4
Music
Some classic, rare or otherwise interesting modules played by xmp:
- MED V2.00 demo song by Teijo Kinnunen, 1990.
"'Song' is my own composition. It may sound much like SLL's songs. I know
that, because I actually emulated the style of SLL."
- Ode to Protracker by Asle, 1995.
"Well, this STANDARD protracker MOD is meant only to fsck players and
trackers around. (...) If you want to code a replayer or/and if you've
already coded one, then this MOD is also for you :)"
- Fourth Symmetriad by Skaven, 1998.
"This song demonstrates the use of filter envelopes (and NNAs, and
other envelopes) in Impulse Tracker. (...) As this song relies heavily on
filters, it will probably sound somewhat stale without them."
- Lepeltheme by Mark Wright, 1992.
The Sonic Solutions version of Karsten Obarski's Lepeltheme from Sarcophaser
using OctaMED synth instruments (played with xmp 2.4.0-pre3, may contain
errors).
Resources