QB GAME RESOURCES ARTICLE - BASICS OF TRACKING: PART ONE For those of you unfamiliar with the term "tracking", in this sense, it refers to digital music creation. This is not a tutorial on how to make a MIDI, if you want that, go elsewhere. This is merely an informational article on a different style of music format that has been gaining popularity in the QB gaming world in the last years.

Unlike MIDI, digital music is platform-independant. This means that your music will always sound the same, no matter what kind of soundcard the player has. MIDI is reliant upon the hardware of the consumer, and will produce varied opinions of the overall quality of the game. Believe it or not, the music (or lack thereof) will have a great impact on the player. A shooter always seems more intense if there's a fast beat in the background, and that death scene in your RPG is much more believable and emotional when a sad piece of music is heard.

The main advantage to tracking is that every instrument and sound in your music is provided by you. MIDI doesn't have such luxuries, it's limited to what the soundcard (or MIDI driver) has for instruments. This advantage of digital music does of course add additional size to your music data, but the advantages gained of having complete control over your sound, and in most cases having your music sound much better, are all worth the size difference. The purpose of this article is not, however, to dissect the differences between MIDI and MOD, but instead to introduce newcomers to the vast amount of available resources that MOD trackers have access to.

First of all, when it comes to creating your music, you'll obviously need a music creation program, called (ironically!) a "tracker". Although there are many names in the tracker scene, for the most part it comes down to four major programs: ScreamTracker, Fast Tracker, Impulse tracker, and Modplug Tracker. ScreamTracker is the oldest among the four. It's slightly buggy, only supports a slim range of soundcards, and only antiquated formats (MOD, STM, S3M). Fast Tracker is quite a bit more modern (although still old), and supports XM (its native format), and MOD. Impulse Tracker was designed to be a hybrid of ScreamTracker and Fast Tracker. It has the interface of Screamtracker with the power (and then some!) of Fast Tracker, and it supports its native format (IT), in addition to S3M, XM, and MOD. (Notice all of them support MOD, the original module format invented on the Amiga). Modplug Tracker, unlike the other three which are DOS-based, is a Windows-based tracker. It has no native format, however, it supports all major formats (MOD, S3M, STM, XM, IT) in addition to some of the very old MOD variants (669, ULT, etc.). There are advantages and disadvantages to all four, and they will be discussed shortly.

One major factor when choosing a format to produce your music in is the method of playback. As it stands, there are only 2 valid choices for module playback in QB (there are others, but only 2 stand out as players of any real quality). The original BWSB (Bells Whistles and Sound Boards) written by Edward Schlunder has been the preferred module playback library for many years. It features support for all MOD variants, MOD itself, and the Screamtracker formats, STM and S3M. However, it does not support them directly; you need to use a converter to convert them to the GDM format, a proprietary module format only used by BWSB. (GDM is short for General Digital Music). Additionally, BWSB's sound quality is lower than even the trackers used to produce the music to begin with. You might have to tweak samples or altogether throw away songs you've written if you plan to use BWSB. Of course, you might have no problems at all.

The other legitimate module player for QB is a relative newcomer known as DS4QB (DirectSound for QuickBasic). Its purpose is to allow any QB program access to DirectSound resources, and it contains a module player of its own, which is used similar to BWSB. DS4QB carries a massive disadvantage in the fact that it will only work when the game is running under Windows. However, this disadvantage is quickly forgotten when you hear the massive improvement in sound quality when compared to BWSB. In addition, DS4QB supports ALL major module formats (MOD, S3M, XM, IT), and no conversion is needed.

So, what's the big deal about the formats? Well, lots! The original MOD format was limited to four channels (yech!). 6 and 8 channel MOD formats were also used later on, but in addition to the channel limitations, there were also sample limitations; samples had to be MONO, 8-bit, and no greater than 22khz. STM and S3M were improved MOD formats. S3M allowed 16 channels, did not have the sample "slot" limitations of MOD (a MOD had to have either 15 or 31 samples, an S3M could have 99 samples), and in general, the sound quality was greater. An often unused (and even moreso unknown-about) feature of S3M was the use of Adlib samples (FM-based sample data). No player is known to handle these unique modules correctly. The XM format drasticly changed the way musicians composed modules. Suddenly, the mono 8-bit 22khz limitations were gone. 32 channels were available. The 64-row pattern limit of MOD and S3M was gone. "Real" instruments were introduced. And with Fast Tracker itself came the ability to save a song as a WAV file, making real-time recording a thing of the past. IT took what XM built and pushed it further, adding note effects, 32 more channels, up to 256 "virtual" channels, improved sample support, and more. When XM wasn't enough, trackers turned to IT. Nowadays, IT is considered the de facto standard module format. Almost all other formats have been forgotten about.

Now, how does this affect your choice of player? Simple. Consider the limitations of the formats, and what formats each player will support. Is all of your music simple and under the requirements of the S3M format? BWSB may be the player for your game. Or, have you decided to go with massive sound loops, 16-bit 44khz samples, and real instruments? BWSB cannot support such a powerful module, but DS4QB would easily.

In addition to the format of music chosen, there are some strange limitations to using modules under BWSB. Modplug Tracker is the culprit among the four major trackers. For some reason unknown to anyone, an S3M module saved with Modplug Tracker, then converted to GDM, can have disasterous results when played through BWSB. Modules can become corrupt, play sample data that does not exist, overwrite memory, or worse. Additionally, S3M modules saved with Impulse Tracker often convert with staticy samples, and sometimes sound completely different than the original samples. What can you do about these problems? Simple. The answer lies in the original tracker itself, ScreamTracker. If you save a module in Modplug Tracker, open it and resave it in Impulse Tracker. That will save the module in the "real" S3M format. However, you still may run into the sample limitation! So, now open the module in ScreamTracker and save it. Perfection! The S3M will convert without difficulty. A danger exists to those who attempt to shortcut this process...opening an S3M in ScreamTracker that was last saved in Modplug Tracker may outright crash ScreamTracker, locking it up, possibly locking up your whole system (whether you're running Windows or not). Never try to shortcut this won't work. Of course, this whole paragraph is based on the usage of BWSB, DS4QB does not suffer these downfalls.

Now, if your choice is made, it's time to actually make some music. To do that, you're going to need samples! A tracking program is useless without samples or instruments (whichever the case may be). The internet is full of great sites to find samples and instruments. Among the most popular is Maz-Sound. In addition to having a nice archive of instruments, you'll find tons of info on other tracking programs, useful utilities, and other goodies. Of course, a lengthly search will turn up far more sites. Additionally, you may also want to create your own samples and instruments, in which case, a sampling program will be key. You can even use something as simple as Sound Recorder in Windows, or even the built-in sampling features of a DOS tracker (Fast Tracker has an excellent sampler). The third method of obtaining samples is what is commonly known as "ripping", or taking sampels from other modules. While this is certainly a very effective method for collecting samples, composers may be a little upset if you do this without their permission. Often, a composer will go through great lengths to make the perfect sample for his song. If you take it and use it in your own, he/she may feel like you're stealing. Although realisticly, if a composer puts their music into the public domain, it's a free-for-all. However, from a moral standpoint, it's just not okay to do this. If you plan to "rip" samples, at least attempt to contact the original will save you headaches in the long run.

I'm going to wrap up this first part of the article with a hint...if you've never tracked before, download some modules. Listen to them. Look them over. See how they're done. Get some inspiration! Tracking is one of the most unique forms of musical composition there is. Enjoy!

Some tracking resources
Modplug Homepage - modplug tracker, modplug player
Maz-Sound - trackers, utilities, samples, instruments
The Garbo FTP - lots of stuff, but it has ScreamTracker and related utilities
The Mod Archive - thousands of published modules