15 September 2026
Converting MultiTracker (MTM) Modules to WAV: 32-Channel Track Matrix Synthesis
Converting MultiTracker (MTM) Modules to WAV: 32-Channel Track Matrix Synthesis
In 1993, Daniel Gold (known as SubSonic in the demoscene group Renaissance) released MultiTracker Editor for MS-DOS. At a time when tracker formats like ProTracker MOD were confined to 4 channels and Scream Tracker 3 S3M stored rigid channel rows, MTM introduced a modular track-matrix architecture supporting up to 32 concurrent channels.
In this technical breakdown, we explore the internal mechanics of the .mtm binary format and how convrtr emulates 32-channel software mixing into uncompressed 16-bit 44.1kHz stereo WAV audio entirely offline.
1. The MultiTracker File Architecture
An MTM module begins with a 66-byte master header identifying the song and setting hardware channel parameters:
| Offset | Size | Description |
|---|---|---|
| 0x00 | 4 bytes | Magic identification: 0x4D 0x54 0x4D 0x10 (MTM\x10) |
| 0x04 | 20 bytes | Song title (ASCII null-terminated) |
| 0x18 | uint16 LE | Number of saved track blocks |
| 0x1A | uint8 | Index of last pattern (total patterns = LastPattern + 1) |
| 0x1B | uint8 | Index of last order (total orders = LastOrder + 1) |
| 0x1C | uint16 LE | Length of optional embedded ASCII song comments |
| 0x1E | uint8 | Number of sample instruments (up to 32) |
| 0x21 | uint8 | Active playback channel count (up to 32) |
| 0x22 | 32 bytes | Per-channel stereo panning table (0 = left, 15 = right, 7 = center) |
Following the header, sample metadata headers, arrangement order lists, track matrices, pattern indices, comments, and raw PCM sample waveforms are stored sequentially.
2. The Modular Track-Matrix Innovation
Traditional tracker formats duplicate note events across channels even when identical musical figures repeat. MultiTracker solved this by decoupling patterns from tracks:
- Tracks: Independent 64-row monophonic sequences of 3-byte note cells.
- Patterns: A 32-entry lookup table pointing to track numbers.
A pattern simply references track numbers for channels 0 through 31. If channel 3 and channel 7 play the same bassline or arpeggio, both reference the same track index. Track index 0 represents silence, eliminating empty row overhead.
3. Resampling and Stereo Panning
Each note event contains pitch, sample number, and effect data. The note period determines pitch frequency:
Frequency (Hz) = 3546895 / Period
convrtr resamples 8-bit unsigned PCM waveforms to linear 16-bit samples using linear interpolation:
const step = freq / sampleRate;
voice.samplePos += step;
Each voice is positioned in the stereo field using the song's channel panning table, blended across left and right output channels, and clamped to avoid digital distortion.
4. 100% Client-Side Private Synthesis
All binary unpacking, track matrix indexing, sample resampling, and RIFF WAVE encoding execute directly within your browser's local sandbox. No data is ever sent to external cloud servers.
Related reading
Converting FastTracker II XM Chiptune Modules to WAV: Architecture and Synthesis
Explore the forensic format of Triton FastTracker II Extended Modules (.xm). Understand 32-channel pattern matrices, linear pitch tables, delta sample compression, and client-side WAV rendering.
Converting Scream Tracker 3 S3M Modules to WAV: Architecture and Synthesis
Examine Future Crew's Scream Tracker 3 (.s3m) format. Learn how 32-channel bit-packed note patterns, 16-bit paragraph sample offsets, and Gus/OPL panning are synthesized into 16-bit linear PCM WAV.
Converting Impulse Tracker IT Modules to WAV: Architecture and Synthesis
Explore Jeffrey Lim's Impulse Tracker (.it) format. Learn about 64-channel matrix structures, C5Speed frequency tables, sample compression, and client-side WAV rendering.
Converting PolyTracker (PTM) to WAV: 32-Channel DOS Game Chiptune Synthesis
Explore Carlos Hasan's PolyTracker PTMF architecture. Learn how 32-channel panning tables, 16-bit PCM samples, ping-pong loops, and tracker synthesis render into CD-quality WAV in browser memory.
Converting Farandole Composer (.far) to WAV: 16-Channel DOS Tracker Synthesis
Dive into Daniel Potter's 1994 Farandole Composer module format. Discover how 16-channel pattern cells, 8-bit PCM samples, custom panning tables, and real-time chiptune synthesis render into pristine 16-bit WAV audio.
Converting Composer 669 (.669) to WAV: 8-Channel DOS Tracker Synthesis
Explore Tomasz Pytel's 1992 Composer 669 tracker format. Learn how 8-channel pattern matrices, 108-byte song messages, 8-bit unsigned PCM waveforms, and software mixing synthesize into clean 16-bit stereo WAV.
Converting AMF Tracker Modules to WAV: Advanced Module Format Audio Synthesis
Dive into Otto Chrons' Advanced Module Format (AMF) and ASYLUM tracker architecture. Learn how 16-channel DOS module tracking and 8-bit PCM software mixing render into studio-quality WAV audio.
Converting DSM Tracker Modules to WAV: RIFF DSMF Multi-Channel Audio Synthesis
Explore DSIK's Dynamic Studio Module (DSM) tracker architecture. Learn how RIFF container chunks, 16-channel pattern matrices, and 8-bit PCM samples synthesize into 16-bit stereo WAV.
Converting Reality Adlib Tracker (RAD) to WAV: 9-Channel OPL2 FM Synthesis
Explore the internal architecture of Reality Adlib Tracker (.rad) files. Learn how Yamaha YM3812 2-operator FM synth parameters synthesize into 16-bit stereo WAV in your browser.
Converting Oktalyzer (OKT) Modules to WAV: Amiga 8-Channel Chiptune Synthesis
Explore Armin Sander's legendary Amiga Oktalyzer (.okt) tracker format. Learn how 8-channel software mixing on the 4-channel Paula sound chip is rendered into studio WAV audio.
Converting id Software IMF Audio to WAV: Yamaha OPL2 FM Synthesis in the Browser
Dive into id Software's IMF music format from Wolfenstein 3D and Commander Keen. Learn how Yamaha YM3812 FM register bytes synthesize into 16-bit stereo WAV audio.
Converting HMI DOS Game Audio to WAV: Emulating 1990s PC Soundtracks
Explore Human Machine Interfaces (HMI) MIDI audio from Descent, Warcraft II, and Mortal Kombat. Learn how multi-track game sequences synthesize into 16-bit stereo WAV.
Converting AdLib ROL Music to WAV: Emulating 1980s PC FM Synthesis
Discover AdLib Visual Composer (.rol) music from the pioneer era of PC audio. Learn how Yamaha YM3812 (OPL2) FM synthesis converts to 16-bit stereo WAV.
Converting Miles Sound System XMI to WAV: 1990s PC Game Soundtracks
Discover Miles Sound System Extended MIDI (.xmi) audio from Wing Commander, Ultima, and Theme Park. Learn how IFF XMID sequences convert to 16-bit stereo WAV.