FastTracker 2


FastTracker 2 is a music tracker created by Fredrik "Mr. H" Huss and Magnus "Vogue" Högdahl, two members of the demogroup Triton 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. 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.
On May 23, 1999, Starbreeze productions announced on their website that "FT2 has been put on hold indefinitely. If this was an ideal world, where there was infinite time and no need to make a living, there would definitely be a multiplatform Fasttracker3. Unfortunately this world is nothing like that," signed by Vogue.

Legacy

After the announcement that support and development for FT2 would be stopped, Ruben Ramos Salvador started working on a FastTracker 3 that is now known as Skale Tracker, available for both Windows, Linux and online. In later years many other trackers tried to follow up on the legacy of FT2, a notable example being MilkyTracker, 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 and is divided to columns. 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, with instrument number 2. The next column is the volume setting on a 00H-40H hexadecimal scale, and the last column enables a variety of effects to be applied to the sound.
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. 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. 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 and compatibility with trackers:
Effect typeOpenMPTFastTracker 2MilkyTrackerProtrackerBeRoTracker
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