Module file (MOD music, tracker music) is a family of music file formats originating from the MOD file format on Amiga systems used in the late 1980s. Those who produce these files (using the software called music trackers) and listen to them form the worldwide MOD scene, a part of the demoscene subculture. The mass interchange of "MOD music" or "tracker music" (music stored in module files created with trackers) evolved from early FIDO networks. Many websites host large numbers of these files, the most comprehensive of them being the Mod Archive. Nowadays, most module files, including ones in compressed form, are supported by most popular media players such as VLC, Foobar2000, Exaile and many others (mainly due to inclusion of common playback libraries such as libmodplug for gstreamer).
Structure Module files store digitally recorded samples and several "patterns" or "pages" of music data in a form similar to that of a spreadsheet. These patterns contain note numbers, instrument numbers, and controller messages. The number of notes that can be played simultaneously depends on how many "tracks" there are per pattern. And the song is built of a pattern list, that tells in what order these patterns shall be played in the song. A disadvantage of module files is that there is no real standard specification in how the modules should be played back properly, which may result in modules sounding different in different players, sometimes quite significantly so. This is mostly due to effects that can be applied to the samples in the module file and how the authors of different players choose to implement them. However, tracker music has the advantage of requiring very little CPU overhead for playback, and is executed in real-time.
Popular formats Each module file format builds on concepts introduced in its predecessors.
The MOD format (.MOD) The MOD format was the first file format for tracked music. A very basic version of this format (with only very few pattern commands and short samples supported) was introduced by Karsten Obarski’s Ultimate Soundtracker in 1987 for the Amiga. It was designed to use 4 channels and fifteen samples. Ultimate SoundTracker was soon superseded by NoiseTracker and Protracker, which allowed for more tracker commands (effects) and instruments. Later, variants of the MOD format that appeared on the Personal Computer extended the number of channels, added panning commands (the Amiga’s four hardware channels had a pre-defined stereo setup) and expanded the Amiga’s frequency limit, allowing for more octaves of notes to be supported. Arguably one of the most widespread tracker formats (also due to its use in many computer games and demos), it is also one of the simplest to use, but also only provides few pattern commands to use. The Oktalyzer format (.OKT) This was an early effort to bring eight-channel sound to the Amiga. Later replayers have improved on the sound quality attainable from these modules by more demanding mixing technologies. The MultiTracker format (.MTM) Produced by American Demoscene group Renaissance, MultiTracker brought up to 32-channel sound to the PC tracker community. Songs that took full advantage of the 32 simultaneous channels were extremely taxing to typical computers of the era. The MED/OctaMED format (.MED) This format is very similar to sound/pro/noisetracker, but the way the data is stored is different. MED was not a direct clone of SoundTracker, and had different features and file formats. OctaMED was an eight-channel version of MED, which eventually evolved into OctaMED Soundstudio (which offers 128-channel sound, optional synth sounds, MIDI support and many other high-end features). The AHX format (.AHX) This format is a synth-tracker. There are no samples in the module file, rather descriptions of how to synthesize the required sound. This results in very small audio files (AHX modules are typically 1k–4k in size), and a very characteristic sound. AHX is designed for music with chiptune sound. The AHX tracker requires Kickstart 2.0 and 2 Mb RAM memory. The ScreamTracker 3 format (.S3M) The Scream Tracker 3 S3M format added sample tuning (defining the exact frequency of the middle C for samples), increased the number of playback channels, made use of an extra column specifically for volume control (which was extended by other trackers to handle panning commands as well), and compressed pattern data for smaller file sizes. It is also one of the few widespread formats that support both sample playback and realtime synthesis (through the OPL2 chip) at the same time.
The FastTracker 2 format (.XM) With the XM format, FastTracker 2 introduced the concept of "instruments", which applied volume and panning envelopes to samples. It also added the ability to map several samples to the same instrument for multi-sampled instruments or drum sets. XM uses instrument-based panning – instrument numbers in patterns always reset the channel’s panning to the current sample's initial panning. It uses MOD effect command letters, plus a few of its own for more sound control. The composer can define initial tempos and speeds; provide envelopes to samples by assigning them to instruments; set sample looping and apply automatic sample vibrato oscillation. The Impulse Tracker format (.IT) Impulse Tracker introduced the IT format, which, in comparison to the XM format, allows instruments to also specify the transposition of assigned samples depending on the note being played, applying resonant filters to samples, and defining “New Note Actions” (NNAs) for instruments to release playing notes on a pattern channel while a new note is already playing, which helps to keep the number of pattern channels to while still being able to have a high polyphony. Like S3M files (and contrary to XM files), panning is channel-based, meaning that channels have an initial pan position which can be overridden by panning commands or instruments’ and samples’ default panning settings.
… excerpt ends here. Continue reading the full article.

