Introduction to Mod Tracking

If you have never used a Mod Tracker before, then join the club! The tracking community, especially in its earliest days, has a reputation for being technically proficient -- not the place for amatures. Recently, with new Mod Trackers and support from places like the FMOD library, the learning curve is becomming less steep. This tutorial, and the Audiophiles guild in general, seeks to make Mod Tracking (as well as other methods for making game audio) as familiar as DM's icon editor. Before we get started making a Module, though, we need to know what a module is, and how it's structured.


Module Files

A module, or mod for short, is a cross between sampled music (like .wav or .mp3 files) and sequenced music (like .midi files). Like a midi file, a mod contains a sequence of commands for the computer to execute, such as "Play the note C on a piano, then play the note F on a piano, etc.". Unlike the midi file format, mod also contains a set of samples, so a mod tracker (the person writing the module) can know exactly what their song will sound like on any computer. You can think of a module as a file that has two parts: A set of sampled instruments, and a sequence of commands (notes) for the computer to play.

Why Use Modules

Mod files offer many advantages over other types of audio a developer can use in their project. The most immediate advantage is that mods are small. Mods are comparable in size to midis because they both are basically a list of commands, which is much smaller than the complex wave forms of either wav or mp3 files. This means that players won't experience lag spikes whenever a song or sound effect is played in a game.

The best reason to use mods, however, is that you can make them yourself. In order to make other types of audio you basically have to produce the sound in real life (where am I going to find a giant pipe organ and three violin players?) and record it somehow. I don't know about you, but my laptop doesn't have that kind of sound recording ability, and I don't have the static free cables needed. With Mod Tracker software, however, I can just type in the notes I want the computer to play, and suddenly I do have three violin players doing exactly what I want them to. This makes writing music as easy as programming or making graphics. I like to think of it as "pixel music" because I'm placing single notes exactly where I want to, just like a "pixel artist" places single pixels to make a larger picture.

Lastly, there are some other, not so often mentioned reasons to use mod files. As a fan of older video games, I enjoy the clicks and whistles those games' songs were composed of. Though I can make fantastic sounding songs with believable instruments (and even vocals!) using mod files, I can also emulate those clicks and whistles very easily, meaning that I (and any other classic game enthusiasts) can make our games look, play, and sound like they did "back in the day".

The Structure of a Module

By now you're probably wondering where to get this wonderful piece of software I keep calling a Mod Tracker so you can download it and get going. Before you try and use a tracker, though, I'd like to familiarize you with how they work, because running tracking software for the first time can be a very disheartening experience.

Let's start with one of the more easy and fun parts, the instruments. Though an instrument is a complicated entity that deserves an article of its own, we can think of it as just a sample. A sample is a small sound file, like a wav file that's half a second long, and it is usually a single instrument (like a flute) playing a single note (C, for instance). When the sample is played in our mod file, the computer takes that sample and changes it's pitch to play any other notes we need. That way, we only need one sample (such as C) and we can play all notes (C, C sharp, F, E flat, etc.). Modules can have multiple samples, so you can have an entire orchestra in your song. There are many ways to get the sample you want (and in the future the Audiophiles guild will be listing free resources) but that's material for a future article. Just so long as you know what a sample is, that's the important part.

Though getting quality samples is one of the most important things you can do for your modules' sound quality, the heart of the module is the pattern. A module can contain multiple patterns, but for now let's just consider one. A pattern is sequence of rows labled 1 through 64 (some mod trackers allow any number of rows, but 64 is most common). When a module is played, the computer first executes the commands on row 1, then on row 2, and all the way down the list until it plays the notes or row 64. Let's take a look at what a pattern might look like. I'm using dark colors because all mod trackers I've downloaded use a black background with colored text.

|____|_Track_1_|
| 01 | C       |
| 02 | D       |
| 03 | F       |
| 04 | F       |
| 05 | D       |
| 06 | C       |
| 07 | B       |
| 08 | B       |
| 09 | F       |
| 10 | C       |
|Etc.| ...     |

If you've ever used a tracker before, you'll notice that I've left out a lot. What I've shown is the just the heart of a pattern. In every row, some note is played, and then it moves on to the next row. So, in that module, first the note C would be played, then D, then F, and so on. Notice the words "Track 1" at the top of our pattern. Modules can have multiple tracks, and you can think of each one as a "voice". So, if you have one track, it's like you have one "voice" (a person singing, playing an instrument, etc.). If you have three tracks, then you have three voices (three people singing, or three people playing instruments). The original Module format limited the number of tracks to four, but modern Mod Trackers can have up to sixteen or thirty-two, depending on the software. Let's take a look at a pattern with four tracks:

|____|_Track_1_|_Track_2_|_Track_3_|_Track_4_|
| 01 | C   1   | E   1   | G   1   | E   2   |
| 02 |         |         |         | F   2   |
| 03 | A   1   | C   1   | E   1   | E   2   |
| 04 |         |         |         | D   2   |
| 05 | C   1   | E   1   | G   1   | C   2   |
|Etc.| ...     | ...     | ...     | ...     |

So, in row 1 the computer will play the notes {C,E,G,E} all at the same time. Then, the computer will move to the next row (row two) and play the notes { , , ,F} all at the same time; if a note is blank, the computer will just continue to play the note before it, so a single note can play through several rows. The computer then moves on to row three and plays {A,C,E,E}, and so on until row 64. I've introduced a new feature in this pattern, though. Notice how after the note (such as C) there is a number, either 1 or 2. This number represents the instrument (sample) to play that note with. Let's pretend that our list of instruments has three entries, a piano (number 1), a violin (number 2), and a flute (number 3). So, in the pattern above, the first three tracks are playing the piano, and the fourth track is playing a violin. Besides the note and which instrument to play it with, there are three more features; let's take a look at what a single track in a single row actually looks like, with all features included:

|____|_____Track_1______|
| 26 | C#2  03  40  E60 |

This is called a cell, and is the smallest unit of musical information contained in a module. Each cell is like one musical command which will be sent to the computer. That command consists of four parts. First is the note, in this case "C#2"; this tells the computer to play the note "C Sharp" in the second octave (if you don't know what an octave is, search the internet; teaching music theory is beyond the scope of this article). The next part is the instrument, in this case "03"; this tells the computer to use the third sample in our list of instruments. The third part of the cell is the volume, in this case "40"; this is a hexidecimal number from 00 to 40, with 40 being the loudest; 40 is also the default, so leaving the volume setting empty is generally okay, especially when just starting to learn tracking. The fourth part is the effects setting, in this case "E60"; again, this is a hexidecimal setting; the effects column is an advanced feature we don't have to worry about right now. Generally, if you just want to play a single note in your module, the cell will look like this:

| C2  03  --  --- |

These musical cells are like the pixels in pixel art. By using many of these, and lovingly placing them one at a time in just the right spot, you can produce a beautiful piece of music without ever having picked up an instrument or fiddled with a microphone. If you understand what a cell is, and what goes into it, then you're almost ready to begin tracking. You should also have an understanding for what tracks, rows, and patterns are, and how a module file is split into two areas, the patterns and the instruments (samples).

Modules are pretty straight forward. However, tracking programs arn't nearly so. If you're ready to start composing music, then let's take a look at a Mod Tracker in our next article.