Compared to SoundTracker Jason Nunn's FunkTrackerGOLD is "Old School" all the way, with an interface and style that betrays its MS-DOS heritage. Its user interface is strictly text-mode, and the program lacks all the modern features (such as MIDI input, a plugin system, or support for Jack) found in newer trackers. So why is it included in AGNULA ? Despite its obvious limitations FunkTrackerGOLD is a very powerful tracker, quite simple to use once its command set is learned, and it is the best console-mode tracker available to Linux.


When FunkTrackerGOLD opens you'll see its Main screen (Figure 1). Here you can start a new song, load a previously created song, and perform a few utility functions such as setting the songfile directory and setting the module sample resolution conversion (changes 8-bit modules to 16-bit and vice versa).

Figure 1: FunkTrackerGOLD's Main display

The simplest way to understand FunkTrackerGOLD is to try out one of the demos, so let's load the battleship.fnk module in $HOME/funkgold/Songs and start playing with the various commands. By the way, FunkTrackerGOLD supports its own FNK module format as well as the standard MOD.

FunkTrackerGOLD's command set is completely described in its documentation (see the package INSTALL file). For this tutorial we'll learn only a part of the set, starting with some of the most frequently used commands.


After battleship.fnk loads you'll be looking at the Sample Editor screen (Figure 2). Press Shift-q to return to the Main screen, and you'll be presented with a query asking if that's what you really want to do. The default response is "N" for "No", because once you return to Main your work is lost unless you saved it before issuing the Shift-q command. For now, answer "Y" for "Yes", then reload battleship.fnk to return to the Sample Editor screen.

Figure 2: The Sample editor

From this screen you can access the other editors. Shift-2 will take you to the Sequence Editor, Shift-3 will open the Pattern Editor, and Shift-1 will return you to the Sample Editor. Try each command until you're back at the Sample Editor screen, then press Shift-o to start playing the module. You will be taken to the Pattern Editor where you can watch the sequence of patterns and the activity within the patterns themselves. Let the module play for a while, then press any key to stop play, and you will be taken back to the Sample Editor. Press Shift-o, and the music will start from the point where you stopped. As before, hit any key to stop play.

For quick review here are the commands we've used so far :

  Shift-q quits to Main from editors; returns to editor from file dialogs

  Shift-1 goes to the Sample Editor 
  Shift-2 goes to the Sequence Editor 
  Shift-3 goes to the Pattern Editor

  Shift-o plays module (hit any key to stop play)
  Shift-p plays module from sequence position
Now let's take a closer look at the Sample Editor to find out what it can do. If you're not already at the Sample Editor display press Shift-1 to take you there. In the left-most column you see the sample numbers. Position the cursor bar on the row for sample 00 and press the M, J, N, and H keys on your keyboard. You should hear a hi-hat sounding at descending pitches that are displayed at the "Last Note:" prompt. Note that the Sample Name slot can be used for any text; for example, in battleship.fnk the name slots have been used for commentary, but new users are well-advised to use it to describe the sounds loaded at their respective sample numbers. Proceed down the Sample Name column and test each position for a sample. You can rename a sample by positioning the cursor over a name and pressing the Enter key. Type in the new name, hit Enter again, and the Sample Name row will update immediately.

New samples can be loaded into a Sample Name slot by placing the cursor on a name slot and pressing the space bar. A file load dialog will open and you can select the WAV, SND, or raw soundfile you want to load at the cursor position. Note that Shift-q will return you to the Sample Editor screen if you decide against loading a new sample.

The Sample Editor display offers a variety of other functions for manipulating samples, but for now we'll leave this editor and proceed to the Pattern Editor.

From the Sample Editor screen press Shift-3 to go to the Pattern Editor. This display should be familiar to anyone who has used a tracker on any platform. It follows the classic tracker design with rows for beats and columns for channel data. Instruments are assigned to channels, and each channel includes the note numbers and optional effects data for its associated instrument.

Classical tracking is really a kind of sample sequencing, using the computer keyboard to enter samples into channel track positions. The keyboard layout is used as a quasi-piano keyboard, with certain keys assigned to certain notes. In FunkTrackerGOLD the default layout is as follows :

    Musical pitch: C  C#  D  D#  E  F  F#  G  G#  A  A#  B
    Keyboard:      z  s   x  d   c  v  g   b  h   n  j   m
The octave can be shifted up or down with the ; and ' keys. When a sample is loaded into a slot it can be triggered by pressing any of these keys. This function is available only from the Sample Editor and Pattern Editor screens: in the Sample Editor the keys will simply sound the sample at the given musical note, while the same action in the Pattern Editor will enter the note into a pattern. Study the patterns in battleship.fnk for a good demonstration of this process. We'll return to the Pattern Editor screen when we create our own patterns and song, but first let's take a quick look at the Sequence Editor to see how a song is organized from its patterns.

Shift-2 will take you to the Sequence Editor (Figure 3) from either the Sample Editor or Pattern Editor. In this editor you set your patterns in any order (sequence) you desire, and the play command (Shift-p) will then play the patterns in the order defined by the Sequence Editor. Again, look at the sequence of patterns in the example module to see how this procedure works in more detail.

Figure 3: The Sequence editor

FunkTrackerGOLD has more options for composition and performance, but let's make some patterns of our own and set them into a sequence to create our first song.


First, press Shift-q to return to the Main screen, then select New Song. A configuration dialog will appear in which you can name your new song, select its sample precision (8-bit or 16-bit), and set the number of channels (from 4 to 16). When you're satisfied with your settings select "OK" and you will be carried to the Sample Editor.

The cursor will be sitting on the first sample slot. Press the space bar to open the sample selection file dialog and choose a WAV, SND, or raw format sample to set into the first slot. As suggested earlier you should then enter a descriptive name into the sample name slot. For now we'll leave the other values in the Sample Editor at their defaults.

Tip: Make sure your samples are at the same bit-precision that you set when you defined your new song !

Now move to the Pattern Editor (Shift-3) where the cursor will be located at the first beat slot of channel 1. Enter a note from the QWERTY keyboard and you should see its value entered in the slot. At the same time you should hear the selected sample at the note's pitch.

The channel note display is defined as follows :

   note name <--| |--> octave number 

Figure 4:

Figure 4 shows a pattern composed with a walking bass line entered into channel 1. Notice that the octave registration is one octave higher than the default (it was set in the Sample Editor). The instrument was selected by placing the cursor on its name slot in the Sample Editor, then the individual notes were entered into the Pattern Editor with the following QWERTY keys :

   key:      z  c  b  n  j  n  b  c  
   pitch:    C  E  G  A  Bb A  G  E  
Notice also the * character at the beat labeled 0F in the Pattern Editor. This sign indicates the pattern end-point and is entered with the Shift-g command.

The other three channels contain parts for bass drum, snare, and crash cymbal, and their notes have been entered in much the same manner as the bass part.

Other important keys in the Pattern Editor include :

  =  moves to the next pattern
  -  returns to the previous pattern
  ,  selects next sample
  .  selects previous sample

  Shift-j jumps to requested pattern number
You can also define blocks for block cut/copy/paste routines. Shift-b begins the block, and Shift-e ends it. Shift-z cuts the block, Shift-c copies it, and Shift-v pastes it into a selected slot in the Pattern Editor.

Now that a pattern has been created let's enter it into a sequence. Access the Sequence Editor with Shift-2, position the cursor in the first sequence slot, then press the [ key to enter a pattern number into that slot. Continue to enter the same value for the next three slots (Figure 5), then press Shift-o to listen to your sequenced patterns.

Figure 5:

Finally, press Shift-s to save your module in FunkTrackerGOLD's native FNK format or Shift-a to save it as a standard MOD file. Note that FunkTrackerGOLD's MOD file support is incomplete and you may receive an error message when saving a MOD. You can try optimising the file from the Main screen (short pieces work best), but even that may not always work.


That's all there is to basic tracking in FunkTrackerGOLD. You've learned how to load and save songs and how to create your own new patterns and sequences, but there's still more to learn. Like most trackers FunkTrackerGOLD includes support for a wide variety of effects and sample processing options, but I leave the exploration of those features as an exercise for the ambitious reader.