Introduction
IT is the module format of Impulse Tracker, an MS-DOS tracker by Jeffrey Lim first released in 1995. It builds on Scream Tracker 3 with up to 64 channels, instruments that map several samples across the keyboard, volume, panning and pitch envelopes, “new note actions” that let a note keep ringing while the next plays, resonant filters and compressed samples.
The format outlived its tracker: OpenMPT and Schism Tracker still use it as a native format.
Structure
An IT file starts with the four bytes IMPM, the song name and a header
with the counts of orders, instruments, samples and patterns, the tracker version and
the version needed to play it, flags, volumes, speed and tempo, and the initial pan
and volume of each of the 64 channels. The order list follows, then three tables of
32-bit offsets to the instruments, samples and patterns. Numbers are
little-endian.
Each instrument begins IMPI and holds its keyboard map, envelopes and
new note action. Each sample header begins IMPS and gives the length,
loop points, rates and the offset of the sample data. Patterns are stored packed, with
a mask byte per channel that says which fields follow.
0Header IMPM, name, counts, flags, channel settings192 bytes192Order list then offsets to instruments, samples, patternsvaries…Instruments IMPI, keyboard map, envelopesvaries…Sample headers IMPS, lengths, loops, data offset80 bytes each…Patterns and sample datavaries
Links
Software
- OpenMPT (Windows)
- Schism Tracker (Windows, macOS, Linux)
- XMPlay (Windows)
- VLC media player (Windows, macOS, Linux, mobile)
Developers
- libopenmpt, C and C++ module playback library from OpenMPT
- libxmp, C module player library