User:Hakken/sandbox



Music trackers (usually referred to simply as trackers) are a type of music sequencer software used to create music. They represent music tracks as an arrangement of discrete musical notes positioned in one of several channels, at discrete chronological positions on a timeline. The file format used for saving songs is called a module file.

A music tracker's musical interface is traditionally numeric: both notes and parameter changes, effects and other commands are entered with the keyboard into a grid of fixed time slots as codes consisting of letters, numbers and hexadecimal digits. Separate patterns have independent timelines; a complete song consists of a master list of repeated and concatenated patterns.

Later trackers departed from module file limitations and advantages, adding other options both to the sound synthesis (hosting generic synthesizers and effects or MIDI output) and to the sequencing (MIDI input and recording), effectively becoming general purpose sequencers with a different user interface.

1987: origins on the Amiga
The term tracker derives from Ultimate Soundtracker; the first tracker software. Ultimate Soundtracker was written by Karsten Obarski and released in 1987 by EAS Computer Technik for the Commodore Amiga. Ultimate Soundtracker was a commercial product, but soon shareware clones such as NoiseTracker appeared as well. The general concept of step-sequencing samples numerically, as used in trackers, is also found in the Fairlight CMI sampling workstation of the early 1980s. Some early tracker-like programs appeared for the Commodore 64, such as Sound Monitor, but these did not feature sample playback, instead playing notes on the computer's internal synthesizer.

The first trackers supported four pitch and volume modulated channels of 8-bit PCM samples, a limitation derived from the Amiga's Paula audio chipset and the commonplace 8SVX format used to store sampled sound. However, since the notes were samples, the limitation was less important than those of synthesizing music chips.

1990s: MS-DOS PC versions
During the 1990s, tracker musicians gravitated to the PC as software production in general from C64 and Amiga platforms to the PC. Although the IBM and compatibles initially lacked the hardware sound processing capabilities of the Amiga, with the advent of the Sound Blaster line from Creative, PC audio slowly began to approach CD Quality (44.1 kHz/16 bit/Stereo) with the release of the SoundBlaster 16.

Another sound card popular on the PC tracker scene was the Gravis Ultrasound, which continued the hardware mixing tradition, with 32 internal channels and onboard memory for sample storage. For a time, it offered unparalleled sound quality and became the choice of discerning tracker musicians. Understanding that the support of tracker music would benefit sales, Gravis gave away some 6000 GUS cards to participants. Coupled with excellent developer documentation, this gesture quickly prompted the GUS to become an integral component of many tracking programs and software. Inevitably, the balance was largely redressed with the introduction of the Sound Blaster AWE32 and its successors, which also featured on-board RAM and wavetable (or sample table) mixing. The responsibility for audio mixing passed from hardware to software (the main CPU), which gradually enabled the use of more and more channels. From the typical 4 MOD channels of the Amiga, the limit had moved to 7 with TFMX players and 8, first with Oktalyzer and later with the vastly more popular OctaMED (all Amiga programs), then 32 with ScreamTracker 3 and FastTracker 2 on the PC and on to 64 with Impulse Tracker (PC) and MED SoundStudio (Amiga and later PC). An Amiga tracker called Symphonie Pro even supported 256 channels.

As such, hardware mixing did not last. As processors got faster and acquired special multimedia processing abilities (e.g. MMX) and companies began to push Hardware Abstraction Layers, like DirectX, the AWE and GUS range became obsolete. DirectX, WDM and, now more commonly, ASIO, deliver high-quality sampled audio irrespective of hardware brand.

There was also a split off from the sample based trackers taking advantage of the OPL2/OPL3 chips of the Sound Blaster series. Adlib Tracker II and many others survive to this day. All Sound Tracker was able to combine both the FM synthesis of the OPL chips and the sample based synthesis of the EMU-8000 chips in the Sound Blaster AWE series of cards as well as MIDI output to any additional hardware of choice.

2000s: Multiple platforms
Tracker music could be found in computer games of the late 1990s and early 2000s, such as the Unreal series, Deus Ex, Jazz Jackrabbit and Hitman: Codename 47. Tracker software continues to develop. Some of the early Amiga trackers such as ProTracker, OctaMED have received various updates, mostly for porting to other platforms. ProTracker having resumed development in 2004, with plans for releasing version 5 to Windows and AmigaOS, but only version 4.0 beta 2 for AmigaOS has been released. Other cross-platform trackers include Renoise, MilkyTracker and SunVox.

Buzz, ModPlug Tracker, Renoise, Psycle, and others offer features undreamed-of back in the day (improved signal-to-noise ratios, automation, VST support, internal DSPs and multi-effects, multi I/O cards support etc.).

In 2005, FamiTracker, a tracker for the NES and Famicom, was officially released. As of version 0.5 beta, it is so far the only tracker for the system with full expansion audio support including the Sunsoft5B.

During 2007, Renoise and Modplug Tracker (OpenMPT) were presented in Computer Music Magazine as professional and inexpensive alternative to other music production software.

Adlib Tracker II has been steadily updated since the late 1990s and has become GPL'd on the Google Code Project.

2010s: Current state
Jeskola Buzz Modular is being regularly updated as of September 2012.

As of 2010, Renoise and Modplug Tracker (OpenMPT) are probably the most actively developed tracker and the most long-living project of this kind, started in 2000 and 1997, respectively.

In 2011, DefleMask was released. It is a multi-system Chipmusic Tracker, supporting SEGA Genesis, SEGA Master System, Nintendo Game Boy, YAMAHA's SMAF, among other systems, developed by Delek.

In June 2011, an on-line software synthesizer-based tracker called Sonant Live was released. It is different from other trackers in that it runs completely in a web browser.

In January 2015, Adlib Tracker II released its most robust update to date with many new features to control the FM synthesizer chip.

Terminology
There are several elements common to any tracker program: samples, notes, effects, tracks (or channels), patterns, and orders.

A sample is a small digital sound file of an instrument, voice, or other sound effect. Most trackers allow a part of the sample to be looped, simulating a sustain of a note.

A note designates the frequency at which the sample is played back. By increasing or decreasing the playback speed of a digital sample, the pitch is raised or lowered, simulating instrumental notes (e.g. C, C#, D, etc.).

An effect is a special function applied to a particular note. These effects are then applied during playback through either hardware or software. Common tracker effects include volume, portamento, vibrato, retrigger, and arpeggio.

A track (or channel) is a space where one sample is played back at a time. Whereas the original Amiga trackers only provided four tracks, the hardware limit, modern trackers can mix a virtually unlimited number of channels into one sound stream through software mixing. Tracks have a fixed number of "rows" on which notes and effects can be placed (most trackers lay out tracks in a vertical fashion). Tracks typically contain 64 rows and 16 beats, although the beats and tempo can be increased or decreased to the composer's taste.

A basic drum set could thus be arranged by putting a bass drum at rows 0, 4, 8, 12 etc. of one track and putting some hihat at rows 2, 6, 10, 14 etc. of a second track. Of course bass and hats could be interleaved on the same track, if the samples are short enough. If not, the previous sample is usually stopped when the next one begins. Some modern trackers simulate polyphony in a single track by setting the "new note action" of each instrument to cut, continue, fade out, or release, opening new mixing channels as necessary.

A pattern is a group of simultaneously played tracks that represents a full section of the song. A pattern usually represents an even number of measures of music composition.

An order is part of a sequence of patterns which defines the layout of a song. Patterns can be repeated across multiple orders to save tracking time and file space.

There are also some tracker-like programs that utilize tracker-style sequencing schemes, while using real-time sound synthesis instead of samples. Many of these programs are designed for creating music for a particular synthesizer chip such as the OPL chips of the Adlib and SoundBlaster sound cards, or the sound chips of classic home computers.

Module files
Tracker music is typically stored in module files where the song data and samples are encapsulated in a single file. Several module file formats are supported by popular music player programs such as Winamp or XMMS. Well-known formats include MOD, MED, S3M, XM and IT.

Structure
Module files store 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. They also contain digitally recorded samples as well as coding for sequencing the samples in playback. The programs that are used to create these files provide composers with the means to control and manipulate sound samples in almost limitless ways to produce music.

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 slightly different in different players. 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.

Scene
Tracker music is characteristic in that it is made by hand, distributed as open source, and executed in real-time. Composers adapt to the technical limitations as well as the cultural conditions, where resources were often reserved for the visual content. The process of composing module files, known as tracking, is a highly creative and skillful activity that involves a much closer contact with musical sound than conventional composition, because every aspect of each sonic event is coded, from pitch and duration to exact volume, panning, and laying in numerous effects such as echo, tremolo and fades. Once the module file is finished, it is released to the tracker community. The composer uploads the new composition to one or more of several sites where module files are archived, making it available to his or her audience, who will download the file on their own computers. By encoding textual information within each module file, composers maintain contact with their audiences and with one another by including their email addresses, greetings to fans and other composers, and virtual signatures.

Although trackers can be considered to have some technical limitations, they do not prevent a creative individual from producing music that is indiscernible from professionally created music. Many tracker musicians gained international prominence within MOD software users and some of them went on to work for high-profile video game studios, or began to appear on record labels. Notable artists include Andrew Sega, Jeroen Tel, Bjørn Lynne, Alexander Brandon, Skaven, Purple Motion, KFMF, 4mat, Jesper Kyd, Brothomstates, Elwood, Markus Kaarlonen, Michiel van den Bos and Dan Gardopée. Deadmau5 and Erez Eisen of Infected Mushroom have both used Impulse Tracker in their early career.

The hardcore techno scene has had many releases originally written using trackers and released on CD and vinyl. Notable artists include Nasenbluten, Noisekick.

Popular formats
Each module file format builds on concepts introduced in its predecessors.


 * Sound/Pro/Noisetracker module (file extension .mod, or mod. prefix on Amiga systems)
 * This is the original module format. Uses inverse-frequency note numbers. 4 voices, with up to 32 in later variations of the format. Pattern data is not packed. Instruments are simple volume levels; samples and instruments correspond one-to-one. 15 instruments in the original Soundtracker, 31 in later trackers. This format was originally created to be easily playable with the Amiga hardware, since it was equipped with a four-channel DAC. The CPU has to do very little work to play these modules on an Amiga. Many games utilize this format - often with small player programs included. In the early 1990s, usage of this format with games was widespread across platforms, with games on PC and Nintendo systems utilizing it, as well.


 * The original .mod extension is actually not a suffix on the Amiga, but a prefix; mod.* is the standard naming convention on the Amiga, and same prefix standard is used in basically all the other various sample/synth-trackers ever made for the Amiga - Art of Noise, AHX/THX, Musicline, Startrekker, FutureComposer, SidMon, Brian Postma's SoundMon etc. The majority of the "oldschool format"-players for Windows, Linux, Mac OS etc. will, when trying to load an "original" mod.*-file (or ahx.*, bp.*, fc14.* and so on), simply not play it due not analysing the file to determine the type - they only check for a filename extension as a suffix. Simply renaming the file from "mod.filename" to "filename.mod" is usually a sufficient workaround.


 * Oktalyzer (originated on Amiga computers)
 * This was an early effort to bring 8 channel sound to the Amiga. Later replayers have improved on the sound quality attainable from these modules by more demanding mixing technologies.


 * MED/OctaMED (originated on Amiga computers)
 * 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 8-channel version of MED, which eventually evolved into OctaMED Soundstudio (which offers 128-channel sound, optional synth sounds, MIDI support and lots of other high-end features).


 * AHX (originated on Amiga computers)
 * 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.


 * .s3m (originated in ScreamTracker version 3 for PC)
 * Up to 16 or more voices. Samples can specify any playback frequency for middle C.  Simple packing of pattern data.  Introduction of several new controllers and a dedicated "volume column" in each voice to replace volume controllers.  Predictable support for stereo panning and AdLib FM synthesis instruments (although the latter is rarely supported in playback software).


 * .xm (originated in Fast Tracker)
 * Introduction of instruments with volume and panning envelopes. Basic pattern compression, no sample compression. Added ping-pong loops to samples.


 * .it (originated in Impulse Tracker)
 * New Note Actions let the previous note in a track fade out on top of the next note (providing greater effective polyphony). Instruments can now share a sample.  Adds some new effects such as a resonant filter.  Better pattern compression.  Added sample compression. Added sustain loops to samples.


 * .mo3
 * Created by Ian Luck to use MP3/Ogg compressed samples


 * .mtm
 * MultiTracker modules


 * .umx
 * Unreal/Tournament music package. This is actually a standard Unreal package file that wraps one .mod, .s3m, .it or .xm file so it can be accessed from within the game.

List of music trackers
This is a selected list of music trackers sorted by computer platform.

Interpreted platforms
These trackers run in virtual machines, such as Java.


 * MikMod (Jean-Paul Mikkers, 1992) - Java
 * Jeskola Buzz - .NET Framework
 * PulseBoy - Adobe Flash

Atari ST / STE / Falcon

 * ST SoundTracker (Equinox, 1990)
 * Audio Sculpture (Synchron Assembly, 1990)
 * Protracker STE (Equinox, 1991)
 * Octalyser (Code & Alan F, 1992)
 * Megatracker ( Simplet & Axel Follet, 1994)
 * DBE-Tracker (ST-Ghost, 1995)
 * Digital Tracker (Emmanuel Jaccard, 1996)
 * Graoumf Tracker (Laurent de SORAS, 1996)
 * Digital Home Studio (Emmanuel Jaccard, 1997)
 * FlexTrax (Thomas Bergström, 2000)
 * ACE Tracker (Thomas Bergström, 2002)
 * maxYMiser (Gareth Morris, 2005)
 * Hextracker  (Paulo Simoes, 2011)

Amiga

 * Ultimate Soundtracker (Karsten Obarski, 1987)
 * Protracker (Lars Hamre, Anders Hamre, Sven Vahsen, Rune Johnsrud, 1990)
 * OctaMED (1989, Teijo Kinnunen)
 * NoiseTracker (Pex Tufvesson, Anders Berkeman, 1989)
 * Audio Sculpture
 *  Radium
 * DigiBooster

DOS

 * Scream Tracker (Sami Tammilehto, 1990)
 * Modedit
 * Fast Tracker (Triton Demo-Crew, 1995)
 * Impulse Tracker (Jeffrey Lim, 1995)
 * Sound Club (Priit Kasesalu, Ahti Heinla, Jaan Tallinn: Estonia, 1993) .SN .MOD .MIDI modules

Other operating systems


Allows users to create music for one system on another. Usually uses emulation to produce sound, some of trackers also can use real sound chips connected to host system.


 * ChibiTracker (2006, Juan Linietsky) - ChibiTracker has a GNU open-source license and runs on FreeBSD, BeOS and Nintendo DS.


 * LittleGPTracker (2009) - LittleGPTracker is aimed at the GP2X hand-held console, but also runs on PSP, Windows, Mac OS X and Linux.


 * Little Sound Dj (Johan Kotlinski) - Game Boy.


 * MilkyTracker (2008, pailes et al.) - MilkyTracker has a GPL open-source license and runs on Linux, FreeBSD, Windows, Windows CE, Mac OS X, Xbox 360, AROS and AmigaOS 4. It supports .MOD and .XM module files, and attempts to recreate the user experience of Fasttracker II.


 * NitroTracker (Tobias Weyland, 2006, GPL) - Nintendo DS


 * Schism Tracker 2003, Mrs. Brisby, Storlek et al. - GPL licensed for Windows, Mac OS X, Linux, FreeBSD, Wii, Pandora (console) (and further platforms with GCC4 and SDL support). Based like the OpenMPT on ModPlug source code, but with focus on Look and Feel and compatibility to the Impulse Tracker.


 * Soundtracker (Jarosław Burczyński, 1990, public domain) – Soundtracker sequenced the three channels of the AY-3-8910 audio chip on the 128K models of ZX Spectrum. Though the instruments were referred to as samples, they were chip-generated sounds. The user is able to modify each sample via use of amplitude envelopes, noise frequency envelopes and pitch modifications. When these "samples" were played in the tracker they could also be modified by arpeggios (referred to as ornaments). A second program, ST Compiler, allowed Soundtracker songs to be integrated into other code.


 * SunVox (2011, Alex Zolotov) - SunVox is freeware for Windows, Linux, Mac OS X, Palm OS and Windows Mobile; and available commercially for the iPhone/iPod touch/iPad and Android.

Software module file players
Many of the listed software use the modplug engine from the open source multimedia framework gstreamer.


 * XMPlay (Windows), from Un4seen Developments, which also created the MO3 format
 * OZMod (Java, cross-platform, free source code)
 * Winamp (Windows)
 * AIMP
 * BZR Player (Windows)
 * foobar2000 (Windows) (with foo_dumb plugin)
 * Mod4Win (Windows), one of the first Windows Mod player
 * K-Multimedia Player (Windows)
 * Quintessential Player (Windows)
 * Sonique (Windows)
 * VLC (Linux, Mac OS X, Windows)
 * Audacious (Linux)
 * XMMS and XMMS2 (Linux/UNIX)
 * Totem (Linux/UNIX)
 * Music Player Daemon (Linux/UNIX)
 * DeaDBeeF (Linux/UNIX, Android)
 * MikMod (Linux/UNIX/DOS)
 * Neutron Music Player (Android OS, BlackBerry 10/PlayBook)
 * Modo Computer Music Player (Android OS)