FastTracker 2 (also referred to as FastTracker II) is a music tracker created by Fredrik "Mr. H" Huss and Magnus "Vogue" Högdahl, two members of the demogroup Triton (who later founded Starbreeze Studios) who set about releasing their own tracker after breaking into the scene in 1992 and winning several demo competitions. The source code of FastTracker 2 is written in Pascal using Borland Pascal 7 and TASM. The program works natively under MS-DOS.

History

In 1993, Triton released FastTracker. This tracker was able to load and save standard four channel MOD files, as well as extended MOD files with six or eight channels (identical to standard MOD files, aside from the extra channel data and ID markers "6CHN" or "8CHN"). It was only compatible with Creative Labs' SoundBlaster series of sound cards, which were most popular on the PC at that time. The whole editor was a single 43 KiB DOS executable.

Through 1994, the musicians in Triton released some songs in a new multichannel "XM" format, accompanied by a pre-release, standalone player. In November 1994, FastTracker 2 was released to the public, with support for the Gravis Ultrasound sound card.

Discontinuation

The last stable release of FastTracker 2 was version 2.08, released in August 1997. A newer version 2.09 was under test as closed beta and became available to the public by Andreas Viklund's website in 1999. This version had a few new usability additions, such as the possibility to exit previously "stuck" windows by only using the mouse, but broke support for the Gravis Ultrasound card. While not an official release it was made later available also from Starbreeze's website.

Legacy

After the announcement that support and development for FT2 would be stopped, Ruben Ramos Salvador (BakTery) started working on a FastTracker 3 that is now known as Skale Tracker, available for both Windows, Linux and online. with special playback modes available for improved Amiga Protracker 2/3 compatibility. See also the Clone section below.

Developer Olav Sørensen/8bitbubsy received the original sources of FT2 and continued to work on them, releasing multiple bug fixed versions of it, currently at version 2.13. As he expressed, he isn't allowed to publish the original source code, written in Borland Pascal 7 and Assembler, but is allowed to publish fixed versions of it.

Architecture and features

The FT2 interface is largely inspired by the looks of Amiga's Protracker. The screen consists of a pattern editor in the lower half, while the upper half features an instrument selector on the right, and the general module settings and some oscilloscopes. The pattern editor can be switched to sample/instrument editors. The program also features a little Nibbler clone and in-software documentation for all the features.

Patterns

Patterns are essentially sheets of music where the musician is able to arrange the actual musical score. A pattern consists of several rows (64 by default, 1024 maximum) and is divided to columns ("tracks"). Each row can have one note in every track. A note can look like the following:

C#4 02 20 R11

This means the note is a C#-note on the chromatic scale, played at the 4th octave (according to the scientific pitch notation), with instrument number 2. The next column is the volume setting on a 00<sub>H</sub>-40<sub>H</sub> hexadecimal scale, and the last column enables a variety of effects to be applied to the sound (in this case, retriggering).

A song consists of a collection of different patterns which can be played in a user-defined order to create the final song structure.

Samples

Samples are raw PCM sound data to be played back at various frequencies, much the way normal musical samplers do. Samples can have a loop start and end point, either repeated continuously or a "ping-pong loop", which essentially means the sample plays in reverse as soon as it hits the loop start or end (this is also called a "bidirectional loop"). The musicians are able to either record samples or load existing ones, manipulate them by cutting and/or pasting parts, or just draw them by hand. There's also a feature to crossfade the sample, thus allowing the loop points to appear seamless.

Instruments

Instruments are essentially arrays of samples with additional convenience features. A musician can assign different samples to different pitches of the sound, thus eliminating the possibility of a sample sounding bad if played too high or too low. Instruments support various loopable envelopes to be set on either the sound volume or the stereo panning, as well as built-in vibrato. It is also possible to set the generic settings of the instrument here: fine-tuning, default volume, default panning and relative starting note to C-4.

FT2 can get input from a normal PS/2 keyboard and make a live record with it (in the QWERTY keyboard layout, "q" would map to C, "2" would map to C#, "w" would map to D, etc.). FT2 was popular with many musicians who didn't have MIDI-compatible keyboards as they could experience live recording without any equipment other than a PC running DOS.

Effects

Each track has an "effects column" which allows the addition of effects such as arpeggio, portamento, vibrato and volume slides. Some control over the song structure can be handled in this column too, with commands for looping and breaking from and delaying patterns, or retriggering, cutting and delaying notes.

In addition, a "volume column" allows additional control over volume slides, vibrato, panning and tone portamento.

Full list of Effect types (.MOD/.XM) and compatibility with trackers:

{| class="wikitable sortable collapsible collapsed"

|-

! Effect type !! OpenMPT !! FastTracker 2 !! MilkyTracker !! Protracker || BeRoTracker

|-

| 0xx Arpeggio || || || || ||

|-

| 1xx Portamento Up || || || || ||

|-

| 2xx Portamento Down || || || || ||

|-

| 3xx Tone Portamento || || || || ||

|-

| 4xx Vibrato || || || || ||

|-

| 5xx Volume Slide + Tone Portamento || || || || ||

|-

| 6xx Volume Slide + Vibrato || || || || ||

|-

| 7xx Tremolo || || || || ||

|-

| 8xx Set Panning || || || || ||

|-

| 9xx Set Offset || || || || ||

|-

| Axx Volume Slide || || || || ||

|-

| Bxx Position Jump || || || || ||

|-

| Cxx Set Volume || || || || ||

|-

| Dxx Pattern Break || || || || ||

|-

| E1x Fine Portamento Up || || || || ||

|-

| E2x Fine Portamento Down || || || || ||

|-

| E3x Glissando Control || || || || ||

|-

| E4x Vibrato Waveform || || || || ||

|-

| E5x Set Finetune || || || || ||

|-

| E6x Pattern Loop || || || || ||

|-

| E7x Tremolo Waveform || || || || ||

|-

| E8x Set Panning || || || || ||

|-

| E9x Retrigger Note || || || || ||

|-

| EAx Fine Volume Slide Up || || || || ||

|-

| EBx Fine Volume Slide Down || || || || ||

|-

| ECx Note Cut || || || || ||

|-

| EDx Note Delay || || || || ||

|-

| EEx Pattern Delay || || || || ||

|-

| EFx Set Active Macro || || || || ||

|-

| Fxx Set Speed/Tempo || || || || ||

|-

| Gxx Set Global Volume || || || || ||

|-

| Hxx Global Volume Slide || || || || ||

|-

| Kxx Key Off || || || || ||

|-

| Lxx Envelope Position || || || || ||

|-

| Pxx Panning Slide || || || || ||

|-

| Rxx Retrigger Note || || || || ||

|-

| Txx Tremor || || || || ||

|-

| Wxx Custom Sync Event || || || || ||

|-

| X1x Extra Fine Portamento Up || || || || ||

|-

| X2x Extra Fine Portamento Down || || || || ||

|-

| X5x Panbrello Waveform || || || || ||

|-

| X6x Fine Pattern Delay || || || || ||

|-

| X9x Sound Control || || || || ||

|-

| XAx High Sample Offset || || || || ||

|-

| Yxx Panbrello || || || || ||

|-

| Zxx MIDI Macro || || || || ||

|-

| \xx Smooth MIDI Macro || || || || ||

|-

| #xx Parameter Extension || || || || ||

|}

Files

FastTracker 2 supports a variety of file formats, though often only two were used by musicians: XM (Extended Module) and XI (Extended Instrument). XM was and still is one of the most popular module formats nowadays, because of its compact and well compressible file structure.

MOD format supported 4 channels maximum in a song, XM format, 32 channels maximum in a song, though there could be multiple instrument on one channel. ( from Channel n°0 to channel n°31 )

Some players — such as ModPlug Player — support the zip-compressed .XMZ and .MDZ formats, which are simple ZIP archives that contain a .XM or .MOD file respectively.

The ADPCM-compressed XM extension is an XM subformat introduced in ModPlug tracker and player. It has the same XM file format structure, except that at least one of the samples is compressed in 4-bit ADPCM format. An ADPCM-compressed sample is almost two times smaller than its uncompressed equivalent. The drawback is the sound quality – significant distortion may arise when using ADPCM.

Another known extension is OXM – Vorbis-compressed XM. It preserves the original XM file structure, except the samples, which are compressed using the Vorbis codec. On April 22, 2017, an alpha build of the FastTracker II clone was released on the author's homepage for Windows and macOS.

Professional usage

Video game developer Nicklas Nygren used Fast Tracker 2 (e.g. Knytt Stories) to compose his early video game music. Demoscener and video game soundtrack composer Matthias Le Bidan used FT2 for the music of the free and open source video games Frozen Bubble and Pathological. The FT2-based soundtrack of Frozen Bubble won The Linux Game Tome's Best Sound/Music Award in 2003.

Lee Jackson used FT2 to compose the MOD files used in the Apogee Software game, Stargunner.

Several commercial computer games by Epic Games like Unreal and Unreal Tournament used the FastTracker 2 XM format (additionally to other mod formats) encapsulated in a "UMX" Container, supported by the used Galaxy Sound Engine. Jarkko Rotstén also uses the XM format for 3D Realms's Ion Fury soundtrack.

FastTracker 2 has also been used in the "dance" music scene of the 1990s and early 2000s: Gabber, Speedcore and breakcore producers were using it, including Deadnoise, Noisekick, Neophyte.

See also

  • List of audio trackers

References

  • Fasttracker 2 on Pouet
  • Fasttracker 2 on Demozoo