Introduction
A multichannel module is a tracker module with 31 samples and any number of channels
from 1 to 32 other than 4. The Amiga plays four sounds at once, but trackers on the PC,
which mix the sound in software, could play more, and wrote modules in the Amiga
layout with wider patterns: one 4-byte cell for every channel in each row. The
signature at offset 1080 gives the count, as in 6CHN, 8CHN,
16CH or 32CH.
The tags with a digit and CHN are usually credited to FastTracker 1
(Triton, 1993), which had 8 channels; FastTracker 2 and other PC trackers wrote the
two-digit xxCH tags for up to 32 channels. TakeTracker, and Octalyser on
the Atari STe and Falcon, had signatures of their own. OpenMPT and most players on
today’s computers still read them.
The header is the same as a 4-channel module’s, but because the size of every pattern
changes with the count, a reader that assumes 4 channels reads all of them wrongly:
this is a separate format. All counts share it, because the rule is the same, the
size from the signature. A 4-channel module with a signature such as
4CHN is laid out exactly like an M.K. one and is read as a
ProTracker module.
A .mod file dropped on any page of this site opens in the explorer,
which shows the header field by field, the samples, the order list and every pattern
note by note, and plays the song with ProTracker’s replay routine, extended to the
channel count.
Structure
A 1,084-byte header, then the patterns, then the sample data, with nothing between them. All numbers are big-endian. With C channels, a row is 4 × C bytes and a pattern 256 × C bytes.
0Title the song name, padded with zero bytes20 bytes20Sample headers 31 of 30 bytes: name, length, finetune, volume, loop930 bytes950Song length how many positions are played1 byte951Restart often 0 in these files1 byte952Order table the pattern for each of 128 positions128 bytes1080Signature the channel count, as in8CHNor16CH4 bytes1084Patterns 64 rows × C channels × 4 bytes, in number order256 × C bytes each…Sample data signed 8-bit, sample 1 firstvaries
| Channels | Row | Pattern |
|---|---|---|
| 6 | 24 bytes | 1,536 bytes |
| 8 | 32 bytes | 2,048 bytes |
| 16 | 64 bytes | 4,096 bytes |
| 28 | 112 bytes | 7,168 bytes |
| 32 | 128 bytes | 8,192 bytes |
Telling it apart
The explorer’s parser for this format checks two things: the file is at least 1,084 bytes long, and the four bytes at offset 1080 are one of these signatures, for a count from 1 to 32 other than 4. The count then sets the row size.
| Signature | Channels | Written by |
|---|---|---|
1CHN to 9CHN | the digit | PC trackers such as FastTracker |
two digits and CH: 10CH to 32CH | the number | FastTracker 2 and other PC trackers |
two digits and CN | the number | a PC tracker; OpenMPT names none |
TDZ1 to TDZ9 | the last digit | TakeTracker |
CD61, CD81 | 6, 8 (the third character) | Octalyser (Atari STe and Falcon) |
OKTA, OCTA | 8 | Oktalyzer, as OpenMPT records it |
A signature with a count of 4 (4CHN, 04CH,
TDZ4) belongs to the ProTracker
module, and FLT8 and EXO8, which also mean 8 channels,
to the StarTrekker module, whose patterns
are stored differently. A file with any other bytes at 1080 is turned down, and the
explorer tries the parsers for the other module formats. Everything after the
signature is read as it comes, and problems are reported rather than grounds for
turning the file down.
Variants
- ProTracker module (M.K.) – 31 samples and 4 channels, marked M.K. at offset 1080: the standard Amiga module
- Multichannel module (xCHN, xxCH) – 31 samples and 1 to 32 channels, marked 6CHN, 8CHN, 16CH and so on
- StarTrekker 8-channel module (FLT8) – 8 channels, each pattern stored as two 4-channel patterns
- Soundtracker module (15 samples) – the first modules, 1987 to 1989: 15 samples and no signature
Links
Software
- OpenMPT – free tracker that plays, edits and saves MOD files, multichannel ones included (Windows)
- FastTracker 2 clone – remake of FastTracker 2, which reads MOD and multichannel MOD (Windows, macOS, Linux)
- MilkyTracker – free tracker in the FastTracker 2 style that opens MOD (Windows, macOS, Linux)
- Schism Tracker – free Impulse Tracker remake that opens MOD (Windows, macOS, Linux)
- XMPlay – small audio player with strong tracker module support (Windows)
- VLC media player – free player for almost any audio or video file, modules included (Windows, macOS, Linux, mobile)
Developers
- libopenmpt – OpenMPT’s playback library (C, C++)
- libxmp – module player library for MOD, S3M, XM, IT and many more (C)
Reference
- OpenMPT’s MOD loader – the multichannel signatures and the trackers that wrote them (C++)
- ProTracker 2 clone source – ProTracker 2.3D’s replayer and period tables, which these files build on (C)
- Tracker History Graphing Project – release dates of FastTracker and the other trackers