MOD player: play and convert tracker modules.

Drop a .mod, .xm, .s3m or .it file and it is played the way the tracker that made it would have played it, by C ports of the original ProTracker, Fasttracker 2 and Impulse Tracker replay code. Listen here, read the messages hidden in the sample names, and save the song as an MP3, WAV or FLAC that plays anywhere. The file never leaves your browser.

drop a tracker module

.mod, .xm, .s3m or .it

At a glance

ReadsMOD (ProTracker and compatibles, 4 to 32 channels, and 15-sample Soundtracker files), XM, S3M, IT
Played bypt2-clone (4-channel MOD), ft2play (XM and multichannel MOD), it2play (IT and S3M): Olav Sørensen's C ports of the original replayers, BSD 3-Clause
SavesMP3 (320 kbps or V0), WAV or FLAC in 16 or 24-bit, at 44.1, 48 or 96 kHz, stereo
LengthThe song once through; a song that loops for ever stops where it would start again
PitchMeasured within 0.1 cent of each format's own tuning, the same at 44.1 and 48 kHz
SizeThe player is 223 KB of WebAssembly

What a module is, and why converting one is not simple

A tracker module is not a recording. It is a set of short samples, a bass note, a snare, a chord stab, plus patterns: grids of rows that say which sample to play on which channel at which pitch, with effect commands for slides, vibrato, arpeggios and volume. The format came from the Commodore Amiga in 1987, where four hardware channels and half a megabyte of memory were all there was, and it carried the music of a generation of games, demos and keygens in files of a few dozen kilobytes. The sound only exists when a player runs those patterns, and every tracker's player had its own arithmetic and its own bugs, which composers then wrote around. Play an old module in a generic player and a slide lands a little flat or an arpeggio stutters differently from how its author heard it.

That is why this page does not use one general-purpose engine. Each format goes to a port of the program it was made in. Four-channel MODs are played by the replayer from pt2-clone, a re-creation of ProTracker 2.3D that includes a model of the Amiga's Paula sound chip. XM files, and MODs with six or more channels, go to ft2play, a port of Fasttracker 2.09's replayer. IT files go to it2play, a port of Impulse Tracker 2.15's, and S3M files are played the way Impulse Tracker imports them. All three are by Olav Sørensen (8bitbubsy), who ported the original trackers' own code line by line; the page shows which one took your file.

How to use it

Drop the file. It is rendered from start to finish, usually in a second or two, and then plays in an ordinary player bar you can seek in. The title is shown with the channel count, the number of patterns and the length. Under it is the sample and instrument text: module authors used those name fields for credits, greetings and contact details, so it is often a small letter from 1993. Choose a format and press "Convert and download". MP3 at 320 kbps plays on anything; WAV or FLAC keeps every sample exactly for editing or archiving.

Changing the sample rate renders the song again at that rate, from the patterns, rather than resampling the audio. For four-channel MODs there is also a stereo width setting. An Amiga sent channels one and four entirely to the left speaker and two and three entirely to the right, which is striking on speakers and tiring on headphones; 20% is the pt2-clone default and keeps a sense of space, and 100% is the real machine.

Things worth knowing

A module has no length: most loop for ever. The player notes each position in the song as it reaches it and stops when the song is about to go somewhere it has already been, so you get exactly one pass. A song that loops inside a single pattern cannot be told apart from a long pattern-loop effect and runs to a 20-minute limit; the page says so when that happens.

Tuning follows the hardware. A four-channel MOD is played as a PAL Amiga plays it, where the note written as A comes out at 436.4 Hz, a little under concert pitch; Fasttracker and Impulse Tracker files are at 440. The mix is taken before the trackers' own 16-bit clipping, so a loud module keeps its peaks instead of having them flattened, and if it passes full scale the whole song is turned down to peak at -1 dBFS, with the amount shown.

What it will not play: IT files with more than 100 samples or 200 patterns (Impulse Tracker's own limits, which some files made in later editors exceed); the AdLib FM instruments a few S3M files use, which are silent; MODs with 5, 7 or 9 channels; and other formats such as MTM, 669 or MED. Titles and sample text keep plain ASCII only, because the files' DOS and Amiga character sets do not map cleanly onto a web page.

Credits

The replayers are open source under the BSD 3-Clause licence, copyright Olav Sørensen; their licence texts are served with the player. ProTracker 2 clone and Fasttracker 2 clone are both catalogued on Recomp, a directory of software re-creations, along with MilkyTracker and Schism Tracker if you want to write modules rather than play them. To play ordinary music files in a period-correct player instead, there is Webamp.

FAQ

How do I convert a MOD file to MP3?

Drop the .mod file on the page, wait a second or two for it to render, choose MP3 and press "Convert and download". The same works for XM, S3M and IT files.

Which module formats does it play?

MOD (4 to 32 channels, including 15-sample Soundtracker files), XM, S3M and IT. Other tracker formats such as MTM, 669 and MED are not supported.

Why does my module sound different here than in another player?

Each format is played by a port of its original tracker's replay code, so effects behave as they did in ProTracker, Fasttracker 2 or Impulse Tracker. General-purpose players approximate those and differ in places. Four-channel MODs are also tuned as a PAL Amiga, slightly under concert pitch.

How long is the converted file if the song loops?

One pass. The song is rendered until it is about to return to a position it has already played, then stops.

Is my file uploaded?

No. The module is read and rendered in your browser tab by a 223 KB WebAssembly player. Nothing is sent anywhere.

Why is an S3M or IT file refused or partly silent?

IT files with more than 100 samples or 200 patterns exceed what Impulse Tracker itself allowed and are refused. S3M files that use AdLib FM instruments play without those instruments.