Original URL: http://www.ovnet.com/~voltz/modtutor.htm

Last updated: 31 May 98

MOD music tutorial, version 1.0

How to create MODs using ScreamTracker 3.21

by Pirate Pete, the Christian Privateer

You are visitor number

to this page since 17 May 97

Table of contents


This tutorial will attempt to get you started in the art of tracking MODs (i.e., creating computer music in MOD format) using ScreamTracker 3.21. It is NOT meant to be a complete musical education (I don't know enough about music myself!) It IS meant to be a supplement to ScreamTracker's documentation, which, as the author admits,

"...is not a complete beginner's guide to the Scream Tracker program, nor is it a text on making better music...it is made for those who have have worked with similar programs before and know some music theory...."
I know how difficult it was for me when I first started using ScreamTracker using nothing more than the documentation and a strong desire to learn how to create music. This tutorial is designed to "fill in the gaps" that I found in the documentation, to help make your transition to computer music a little easier. If I do my job right, when you are finished, you will be able to use this document together with ScreamTracker's documentation to create music in either of two popular formats--ProTracker-compatible (.MOD) or ScreamTracker compatible (.S3M).


Before we begin, there are some preliminaries to take care of.

  1. Make sure you have the correct equipment. As a minimum, ScreamTracker requires you to have:
    • a 386 computer
    • a VGA monitor
    • a sound card (any 100%-compatible SoundBlaster card or Gravis Ultrasound card)

    EMS (expanded memory) is desirable, but not necessary. However, if you load a large module or a bunch of samples, it is possible that ScreamTracker will crash & burn horribly and without warning. If you have memory but don't know how to use it, make a backup copy of your CONFIG.SYS and try adding this line:

          DEVICE=C:\DOS\EMM386.EXE RAM
    The example assumes the program EMM386.EXE exists in C:\DOS.

  2. This tutorial will use ScreamTracker v3.21. (If you haven't already done so, you can download it here). Before you UNZIP the archive you will download, you'll need to create a directory structure to contain ScreamTracker and all files necessary for its operation. I recommend this structure:
             +---screamtk                         ; main ScreamTracker dir
                  |---modules                     ; all mod songs
                  |     |---2usenet               ; songs uploaded to USENET
                  |     |---2ftp                  ; songs uploaded to FTP
                  |     |     |---aminet          ; ftp.wustl.edu
                  |     |     +---metronom        ; ftp.lhg.hib.no
                  |     |---2web                  ; songs uploaded to the Web
                  |     |---mod                   ; ProTracker cmptble mods
                  |     +---s3m                   ; ScreamTracker mods
                  +---samples                     ; instruments
                        |---voice                 ; voice samples
                        |---percuss               ; percussion/drum samples
                        |     |---bass            ; bass drums
                        |     |---snare           ; snare drums
                        |     |---tom             ; tom drums
                        |     +---hihat           ; hi hat/cymbals
                        |---brass                 ; brass instruments
                        |---wind                  ; wind instruments
                        |---effects               ; special effects
                        |---chord                 ; chord instruments 
                        |---strings               ; string instruments
                        |     |---guitar          ; guitar
                        |     |---violin          ; violin
                        |     +---other           ; other strings
                        +---keyboard              ; keyboard instruments
                              |---piano           ; piano
                              |---clavic          ; clavichord
                              |---xyloph          ; xylophone  
                              |---synth           ; general synthesizer
                              +---organ           ; general organ
    The reason for this vast, complicated-looking structure will become immediately apparent when you begin creating mods--as you download more and more samples, it becomes increasingly harder to find one particular sample if you don't organize them by type of instrument. The above directory structure will help you categorize your samples, making it easier to find your instruments.

  3. Pick up some samples from the Internet or from other mods.

  4. After you download a bunch of samples to your SAMPLES directory ("C:\SCREAMTK\SAMPLES" in the above example), unarchive the files (if you downloaded them in archived format) and read the documentation file ST3.DOC. There's a lot to it, so I suggest you glance through it at least once, then print it out and refer back to it as necessary.

  5. Execute the ScreamTracker program. Assuming you downloaded the program and unzipped it into the above directory structure, you would need to do this to start the program:
            CD \SCREAMTK
    You will see an opening screen which looks something like this:
       Autodetecting soundcard (none specified on command line)...
       Initializing sound... Testing sound... done.
       Output: Soundblaster PRO IO:220h IRQ:5 DMA:1  MIX @:44KHz
                         S  C  R  E  A  M  T  R  A  C  K  E  R
                                      version 3.21
                        Copyright(c), 1993, 1994 Sami Tammilehto
              Press ESC for menu, F10 for help, any other key to continue

  6. Press SHIFT-F9. You'll see the following screen:
         Scream Tracker V3.21         Copyright (C) 1993,1994 Sami Tammilehto     
               +------------------------------+       +-----------------------+   
           Song|                              |   File|                       +
     Instrument|01:                           |  Chord|none                   +
          Order|000/000                       |C.Tempo|7D                      
        Pattern|00        Row 00    Channel 01|C.Speed|06          Baseoctave  3  
                                                                  FreeMem:  189K  
                                                                  FreeEMS: 8176K  
      ESC ..... Main Menu     F1..F4 .. Edit Screen                               
      F10 ..... Quick-Help    CTRL-L .. Load Module                               
      CTRL-Q .. Quit to DOS   F5/F8 ... Play / Stop                               
     ------------------------------ Configuration ----------------------------------
       Screen colors    Soundcard settings (set from command line)
          00 00 00
          20 17 10         SoundBlaster
          41 36 21
          63 55 33         SoundBlaster Pro
          57 00 00
          00 44 00
          63 63 00         Gravis Ultrasound
          38 37 36
          05 09 22
          06 12 29
          18 16 15
          12 11 10
          34 00 00         Mono mixing rate 43478          IO-Address  220
          xx xx xx       Stereo mixing rate 22000       IRQ-Interrupt  5
          xx xx xx                                        DMA Channel  1
          xx xx xx
        Intrument Dir C:\SCREAMTK    
       Song Directory C:\SCREAMTK
       Editing Chords

    Press TAB to put the cursor in the "Instrument Dir" field. Press the DEL key until any previously existing information in the field is erased, then type in the name of your main samples directory ("C:\SCREAMTK\SAMPLES", if you use my suggested directory setup). Press TAB again to put the cursor in the "Song Directory" field. Type in the name of the main module directory (e.g., "C:\SCREAMTK\MODULES")

Getting started

The first step in creating a song is choosing which instruments you'll be using. If you've created a directory structure such as the one I've suggested above, the selection process is a snap.

  1. Press F3 to bring up the "Instruments" screen. This is what you'll see:
    ----------------------------Instrument List (F3)------------------------------
     01|                            |---|64|08363|TM|T| Instrument 01: ---        
     02|                            |---|64|08363|TM|T|                           
     03|                            |---|64|08363|TM|T|                           
     04|                            |---|64|08363|TM|T|                           
     05|                            |---|64|08363|TM|T|                           
     06|                            |---|64|08363|TM|T|                           
     07|                            |---|64|08363|TM|T|                           
     08|                            |---|64|08363|TM|T|                           
     09|                            |---|64|08363|TM|T|                           
     10|                            |---|64|08363|TM|T|                           
     11|                            |---|64|08363|TM|T|                           
     12|                            |---|64|08363|TM|T|                           
     13|                            |---|64|08363|TM|T|                           
     14|                            |---|64|08363|TM|T|                           
     15|                            |---|64|08363|TM|T|                           
     16|                            |---|64|08363|TM|T|                           
     17|                            |---|64|08363|TM|T|                           
     18|                            |---|64|08363|TM|T|                           
     19|                            |---|64|08363|TM|T|                           
     20|                            |---|64|08363|TM|T|                           
     21|                            |---|64|08363|TM|T|                           
     22|                            |---|64|08363|TM|T|                           
     23|                            |---|64|08363|TM|T|                           
     24|                            |---|64|08363|TM|T|                           
     25|                            |---|64|08363|TM|T|                           
     26|                            |---|64|08363|TM|T|                           
     27|                            |---|64|08363|TM|T|                           
     28|                            |SMP|64|08363|TM|T|                           
     29|                            |---|64|08363|TM|T|                           
     30|                            |---|64|08363|TM|T|                           
     31|                            |---|64|08363|TM|T|                           
     32|                            |SMP|64|08363|TM|T|                           
                  ^                   ^   ^   ^   ^  ^
                  |                   |   |   |   |  |
                  |                   |   |   |   |  +--- Test instrument col
                  |                   |   |   |   +------ Test multiple col
                  |                   |   |   +---------- Recording frequency
                  |                   |   +-------------- Default volume 
                  |                   +------------------ Sample indicator
                  +-------------------------------------- Sample comment
    Description of the columns:
    • Test instrument--when you place the cursor in this column, you can use the QWERTY and ZXCVB keyboard rows as as a mini piano keyboard. We'll explore this option more in a minute.
    • Test multiple--this option lets you hear what the sample will sound like when played simultaneously through multiple channels, using the same keyboard keys as the "Test Instrument" column.
    • Recording frequency--this controls the default pitch of the instrument. You'll use this column when you want to tune your instrument (more on this later).
    • Default volume--this number is the volume that will be attached to your instrument if you don't specify a volume for each note.
    • Sample indicator--if this says "SMP", then the instrument on the row is a true sample; if not, it's probably just a comment.
    • Sample comment--this is where you can enter a comment for your sample (e.g., "Bass Drum, Gated")

  2. Use the cursor keys to select a blank instrument slot (i.e., one which does not show "SMP" in the "Sample Indicator" column) and press RETURN. This brings up the Instrument Library screen:
         Scream Tracker V3.21         Copyright (C) 1993,1994 Sami Tammilehto     
               +------------------------------+       +-----------------------+   
           Song|                              |   File|                       +
     Instrument|01:                           |  Chord|none                   +
          Order|000/000                       |C.Tempo|7D                      
        Pattern|00        Row 00    Channel 01|C.Speed|06          Baseoctave  3  
                                                                  FreeMem:  189K  
                                                                  FreeEMS: 8176K  
      ESC ..... Main Menu     F1..F4 .. Edit Screen                               
      F10 ..... Quick-Help    CTRL-L .. Load Module                               
      CTRL-Q .. Quit to DOS   F5/F8 ... Play / Stop                               
    --------------------------Instrument Library (F4)----------------------------------
       |Directory-----------------> |M  |00|00000|TM|T| Instrument 01:
        Directory: C:\SOUND\SAMPLES                         
    001|Directory-----------------> |..               |     
    002|Directory-----------------> |BELLS            |     
    003|Directory-----------------> |BRASS            |     
    004|Directory-----------------> |CHORD            |     
    005|Directory-----------------> |EFFECTS          |     
    006|Directory-----------------> |KEYBOARD         |     
    007|Directory-----------------> |NEWRIPS          |     
    008|Directory-----------------> |NEWRIPS1         |     
    009|Directory-----------------> |PERCUSS          |     
    010|Directory-----------------> |STRINGS          |     
    011|Directory-----------------> |VOICE            |     
    012|Directory-----------------> |WIND             |     
    013|sampmgr.bas (no header)     |SAMPMGR.BAS      |     
    014|x (no header)               |X                |     
       |                            |                 |     
       |                            |                 |     
       |                            |                 |     
       |                            |                 |     
       |                            |                 |     
       |                            |                 |     
       |                            |                 |     
       |                            |                 |     
       |                            |                 |     
       |                            |                 |     
       |                            |                 |     
       |                            |                 |     
       |                            |                 |     
       |                            |                 |     
  3. Use the cursor keys to highlight the directory name you want, press ENTER to change directories -or- highlight the name of a sample file. Press "T" (or one of the QWERTY keys--i usually just use "T" because to me it stands for "Test instrument") to hear what the instrument sounds like. If you DO NOT have a Gravis Ultrasound board, you'll get the following message:
            Warning: Out of Gravis memory (Gravis has 0K)
    Press ENTER to ignore this "error" message (this error checking routine is irritating, I know, but hey, remember ScreamTracker is FREE!)

  4. If the instrument sounds distorted and scratchy, you probably have an Amiga sample. Press ALT-A to convert from Amiga sample (signed) to PC sample (unsigned), follow the screen prompts, then press "T" again to re-test the sample.

  5. To try out the "Test On Multiple Channels", press the left arrow key--the block cursor will move over to the "Test Multiple" field. Now you can press "T" or the "QWERTY" keys in succession. Each time you press one of the piano keys, the instrument will be played on a different channel. The result can be harmony (if you play chords) or cacaphony (if you press keys at random).

    Use this keyboard template to relate your keyboard to a piano:

               C#  D#      F#  G#  A#      C#  D#
               |   |       |   |   |       |   |  
               v   v       v   v   v       v   v  
               1   2       4   5   6       8   9        Upper octave keys
             Q   W   E   T   Y   U   I   O   P
             ^   ^   ^   ^   ^   ^   ^   ^   ^
             |   |   |   |   |   |   |   |   |
             C   D   E   F   G   A   B   C   D
               C#  D#      F#  G#  A#      C#  D#
               |   |       |   |   |       |   |  
               v   v       v   v   v       v   v  
               S   D       G   H   J                    Lower octave keys;
             Z   X   C   V   B   N   M                  base octave can be
             ^   ^   ^   ^   ^   ^   ^                  changed with * and /
             |   |   |   |   |   |   |                  keys
             C   D   E   F   G   A   B   

  6. When you find an instrument you want to use with your song, press ENTER. This will bring you back to the Instrument List screen. Continue this process until all instruments have been selected.

  7. Name your instruments. In the Instrument List screen, place the cursor in the sample comment field and enter a descriptive name for each instrument you selected.

Tuning your instruments

Before you begin writing your song, it's a good idea to tune your instruments. This basically means changing the "Recording frequency" column until all instruments have the same base pitch. Let's assume you've selected 5 instruments:

     Scream Tracker V3.21         Copyright (C) 1993,1994 Sami Tammilehto     
           +------------------------------+       +-----------------------+   
       Song|                              |   File|                       +
 Instrument|01:                           |  Chord|none                   +
      Order|000/000                       |C.Tempo|7D                      
    Pattern|00        Row 00    Channel 01|C.Speed|06          Baseoctave  3  
                                                              FreeMem:  189K  
                                                              FreeEMS: 8176K  
  ESC ..... Main Menu     F1..F4 .. Edit Screen                               
  F10 ..... Quick-Help    CTRL-L .. Load Module                               
  CTRL-Q .. Quit to DOS   F5/F8 ... Play / Stop                               
----------------------------Instrument List (F3)------------------------------
 01|Bass drum, with kick        |SMP|64|11000|TM|T| Instrument 01: ---        
 02|Snare drum                  |SMP|64|11000|TM|T|                           
 03|Detroit chord               |SMP|64|08363|TM|T|                           
 04|Miami grand piano, mid rang |SMP|64|11000|TM|T|      
 05|Miami grand piano, hi range |SMP|64|11000|TM|T|

In this example, you wouldn't need to worry about the first two instruments (the percussion section); you just need to make sure the "Detroit chord" is tuned to the "Miami grand" because these are "primary voices"--they carry the main melody of your song. To begin tuning:

  1. Write down the original "Recording Frequencies" of all the instruments to be tuned. This way, if you make a mistake, you can bring the instruments back to their original tuning state.
  2. Choose one instrument to be the base by which all other instruments will be tuned (the tuning group). In the above case, I'd select the piano sample as the base because it's tonal quality is much sharper than the "Detroit chord."
  3. Stop at the "Test Instrument" column of each instrument to be tuned, and press the "Q" key several times for each instrument (since most instruments are recorded at middle "C", this will usually play a "C" note. However some instruments are recorded at different notes--for example, the "Detroit chord" instrument above may have been recorded at "F" of the 3rd octave-- what is supposed to be a "C" for this instrument is actually an "F"). Repeat this several times until your ear gets a feel for the relative pitch difference between the instruments. This gives you a clue to the nature of the tuning repair needed-- should one instrument be played at a higher or lower frequency than the next instrument in the tuning group? Listen carefully and your ear will tell you which way you need to tune. (Note: by relative pitch, I mean "C" is lower than "D", "D" is lower than "E", etc...relative pitch is not the same as difference in frequency).
  4. Now focus on two instruments--your base instrument, and another from the tuning group. Determine the relative pitch difference between the two instruments:
    • If the base instrument has a lower relative pitch,
      1. press "Q" a couple of times while the cursor is on the "Test Instrument" column of the base instrument.
      2. place the cursor on the "Test Instrument" column of the test instrument.
      3. Go backward through the piano keys of the lower octave (i.e., press M-J-N-H-B-G-V-C-D-X-S-Z in that order) until the test instrument has the same relative pitch as the base.
      4. Place the cursor in the "Recording Frequency" column of the test instrument. Press the "/" (forward slash) key, then press the key that you stopped at in the above step.
    • If the base instrument has a lower relative pitch,
      1. press "Q" a couple of times while the cursor is on the "Test Instrument" column of the base instrument.
      2. place the cursor on the "Test Instrument" column of the test instrument.
      3. Go forward through the piano keys of the upper octave (i.e., press Q-2-W-3-E-R-5-T-6-Y-7-U in that order) until the test instrument has the same relative pitch as the base.
      4. Place the cursor in the "Recording Frequency" column of the test instrument. Press the "/" (forward slash) key, then press the key that you stopped at in the above step.
    • To raise the pitch of an instrument a whole octave, place the cursor in the "recording frequency" column and press "+" (plus). To lower the pitch by an octave, press "-" (minus).
  5. Now you may need to fine tune the instruments. Place the cursor in the "Recording frequency" column of the instrument you wish to tune. If you think the tuning frequency should be higher, increase the number in the column. If you think it should be lower, decrease the number.
  6. Repeat steps 2 thru 5 until all instruments in the tuning group have identical pitches (i.e., they all should sound like the note "C", even if one instrument sounds like it's being played in a higher octave than another).
Now you're ready to begin writing the music for your song.

Writing the song

For me, songwriting is a trial-and-error process. While some folks are musical geniuses able to compose music in their head or on paper, I play everything by ear until it sounds right, and then I save it. This is one of the grandest features of mod music--it gives those of us who aren't musical prodigies a chance to "strut our stuff," to tap into our abundant creative energies to produce something that may--or may not--be enjoyed by others. Even if you don't know a piano from a pickaxe, with a little hard work and a lot of patience, you can create music that sounds beautiful to your ears--and you are the one that counts!

Entering notes: Using the Pattern Editor

Press F2 to begin entering notes. You'll see this screen:

     Scream Tracker V3.21         Copyright (C) 1993,1994 Sami Tammilehto      
           +-----------------------------         +------------------------    
       Song|Agent of destruction         \    File|agent.s3m (S3M)         \   
 Instrument|01:Bass                       +  Chord|none                     +  
      Order|000/022                       |C.Tempo|7D+-------------------+  |  
    Pattern|00+-----  Row|00|   Channel 01|C.Speed|06|         Baseoctave| 3|  
           +--+          +--+           +-+       +--+                   +--+  
                                                              FreeMem:  120K   
                                                              FreeEMS: 8064K   
  ESC ..... Main Menu     F1..F4 .. Edit Screen                                
  F10 ..... Quick-Help    CTRL-L .. Load Module                                
  CTRL-Q .. Quit to DOS   F5/F8 ... Play / Stop                                
----------------------------Pattern Editor (F2)------------------------------- 
   +- 01: L1 ------ 02: R2 ------ 03: R3 ------ 04: L4 ------ 05: L5 ----+  
 00|B-3 11 .. .00|B-3 10 .. .00|F-4 03 .. .00|B-3 11 .. RFF|... .. .. .00|  
 01|... .. .. .00|... .. .. .00|... .. .. .00|... .. .. .00|... .. .. .00|  
 02|... .. .. .00|^^^ .. .. .00|... .. .. .00|... .. .. .00|... .. .. .00| 
 03|... .. .. .00|... .. .. .00|... .. .. .00|... .. .. .00|... .. .. .00| 
 04|C#4 11 .. .00|B-3 10 .. .00|F-4 03 .. .00|C#4 11 .. .00|... .. .. .00| 
 05|... .. .. .00|... .. .. .00|... .. .. .00|... .. .. .00|... .. .. .00| 
 06|... .. .. .00|... .. .. .00|... .. .. .00|F#4 11 .. .00|... .. .. .00| 
 07|... .. .. .00|... .. .. .00|... .. .. .00|... .. .. .00|... .. .. .00| 
 08|E-4 11 .. .00|B-3 10 .. .00|F-4 03 .. .00|... .. .. .00|... .. .. .00| 
 09|E-4 11 .. .00|... .. .. .00|... .. .. .00|... .. .. .00|... .. .. .00| 
 10|D-4 11 .. .00|D-4 10 .. .00|F-4 06 .. .00|D-4 11 .. .00|... .. .. .00| 
 11|... .. .. .00|... .. .. .00|... .. .. .00|... .. .. .00|... .. .. .00| 
 12|C#4 11 .. .00|C#4 10 .. .00|F-4 03 .. .00|C#4 11 .. .00|... .. .. .00| 
 13|... .. .. .00|... .. .. .00|... .. .. .00|... .. .. .00|... .. .. .00| 
 14|D-4 11 .. .00|D-4 10 .. .00|F-4 05 .. .00|D-4 11 .. .00|... .. .. .00| 
 15|... .. .. .00|... .. .. .00|... .. .. .00|... .. .. .00|... .. .. .00| 
 16|F#4 11 .. .00|G-3 10 .. .00|F-4 03 .. .00|A-3 11 .. .00|... .. .. .00| 
 17|... .. .. .00|... .. .. .00|... .. .. .00|... .. .. .00|... .. .. .00| 
 18|... .. .. .00|... .. .. .00|... .. .. .00|... .. .. .00|... .. .. .00| 
 19|... .. .. .00|... .. .. .00|... .. .. .00|... .. .. .00|... .. .. .00| 
 20|... .. .. .00|G-3 10 .. .00|F-4 03 .. .00|D-4 11 .. .00|... .. .. .00| 
 21|... .. .. .00|... .. .. .00|... .. .. .00|... .. .. .00|... .. .. .00| 
 22|... .. .. .00|... .. .. .00|... .. .. .00|B-3 11 .. .00|... .. .. .00| 
 23|... .. .. .00|... .. .. .00|... .. .. .00|... .. .. .00|... .. .. .00| 
 24|E-4 11 .. .00|G-3 10 .. .00|F-4 03 .. .00|... .. .. .00|... .. .. .00| 
 25|... .. .. .00|... .. .. .00|... .. .. .00|... .. .. .00|... .. .. .00| 
 26|D-4 11 .. .00|B-3 10 .. .00|... .. .. .00|... .. .. .00|... .. .. .00| 
 27|... .. .. .00|... .. .. .00|... .. .. .00|... .. .. .00|... .. .. .00| 
 28|... .. .. .00|A-3 10 .. .00|F-4 03 .. .00|... .. .. .00|... .. .. .00| 
 29|... .. .. .00|... .. .. .00|... .. .. .00|... .. .. .00|... .. .. .00| 
 30|... .. .. .00|B-3 10 .. .00|... .. .. .00|... .. .. .00|... .. .. .00| 
 31|... .. .. .00|... .. .. .00|... .. .. .00|... .. .. .00|... .. .. .00| 
 ^ +^-^-^--^--^-^--------------------------------------------------------+ 
 |  | | |  |  | |     
 |  | | |  |  | +- Infobyte column (00-FF, hexadecimal)
 |  | | |  |  +--- Effect command column (A-Z)
 |  | | |  +------ Volume column (0-64, decimal)
 |  | | +--------- Instrument column (00-99, decimal)
 |  | +----------- Octave column (0-7, decimal)
 |  +------------- Note column
 +---------------- Row number
          Note: PgDn will show the next 32 rows
                "+" (plus) loads the next pattern
                "-" (minus) loads the previous pattern

The cursor will be sitting on the first row of the first column, which represents the first note to be played by the first channel. Before continuing with the tutorial, experiment with the "piano" keys (make sure you have an instrument loaded in slot number one of the Instrument List). Notice what happens when you press one of them: you should hear the instrument playing the note you selected. But what else happens?

The Skip Value feature

Notice how ScreamTracker writes down the note name in the cell the cursor is sitting in (a cell is the intersection of a row and a column), and then automatically moves the cursor down to the next row? This is called the Skip Value feature, and it can be a blessing or a nuisance, depending on your point of view. I find it irritating because I play notes by ear, and therefore may require hearing them again and again, but other musicians may get some use out of this feature. To disable the Skip Value feature, press ALT-0; to enable the feature, press ALT- plus a number from 1 to 8. The number following the ALT key designates the number of rows you wish to skip each time you enter a note.

Cell contents

There are 6 items of information in each cell:

  • Note--the note name; "C, C#, D, D#..." etc.
  • Octave--the note octave (from 0 through 7)
  • Instrument--the instrument number (from 1 thru 99)
  • Volume--the volume the note will be played at; if no volume is specified, the note is played at the instrument's default volume
  • Effect--special effect to be applied (this tutorial does not cover special effect commands--see ScreamTracker's documentation, ST3.DOC)
  • Infobyte--this is a hexadecimal number which contains information to be used by the special effect command.

In the above example, the first note is "B" of the 3rd octave, played by instrument 11 (whatever that happens to be), with no special effects applied.

Determining the duration of a note

Each note in a song has a specific duration. In standard music terminology, a whole note is the basic unit of measurement of note duration; a whole note is a rather large unit, and it is subdivided into smaller and smaller intervals, each one-half the length of the previous interval: half note, quarter note, eighth note, sixteenth note, etc.

In ScreamTracker terminology, a "note" is the beginning of an event--it signifies the time an instrument is "played" (for example, when a piano key is first struck). To determine how LONG that instrument plays the note (i.e., the duration of the note) you can do one of three things:

  1. Turn the instrument off (i.e., stop playing the note)
  2. Play another note
  3. Use a special effect command

In the above example, the first note played on channel 1 ("B") is terminated by playing another note ("C#"). The duration of the "B" note is determined by the relative distance in rows from the "B" cell to the "C#" cell (4 rows). At default speed and tempo, one row is approximately equal to .12 seconds; therefore 4 rows (or one beat) would be about a half of a second. Rather than fuss with all of the numbers, I usually tend to use this simple table to determine the duration of my notes:

        1 row ................ a sixteenth note
        2 rows ............... an eighth note
        4 rows ............... a quarter note
        8 rows ............... a half note
       16 rows ............... a whole note

Another factor that determines the length of a note is the size (in bytes) of the sample being used to play the note and the sample rate of the sample. The larger the size of the sample (or the lower the sample rate), the longer the sample will play. Let's say you have a piano sample tuned to middle "C", recorded at a rate of 8363 samples per second. Let's also assume the size of this sample is 4,000 bytes. This means that if you play a middle "C" note with the keyboard, the maximum duration of sound will be:

      4000 bytes (samples)
      ----------------------    =  approximately .5 seconds
      8363 samples per second   
This translates to about 4 beats at default BPM and tempo. This means if you place two successive middle "C" notes more than 16 rows apart, there will be a break in the sound (i.e., the piano will stop playing).

The "Note Off" command

In the above example, the first note of the second channel ("B") is terminated by the note off command (signified by the "^^^" symbol in the note column). To generate a note off command, press "1" while the cursor is sitting in the note column.

Switching octaves

ScreamTracker lets you enter notes in 8 octaves (from 0 to 7). The current base octave (the octave of the lowest "piano" note, the Z key) is displayed in the upper right portion of the screen; press "*" (asterisk) to increase the octave, or "/" (forward slash) to decrease it. Alternatively, you can change the octave of an individual note by moving the cursor to the Octave column and typing in a number from 0 to 7.

Switching instruments

Songs would be pretty boring if they only contained one instrument. To switch between your instruments, press SHIFT+< (for the previous instrument) or SHIFT+> (for the next instrument), or place the cursor in the Instrument Number column of the cell and change it directly.

Controlling the way the song plays

Press F1 to go to the Order List and Variables screen. Here you can control the song's speed, specify how the patterns you create are to be played, and more.

     Scream Tracker V3.21         Copyright (C) 1993,1994 Sami Tammilehto      
           +-----------------------------         +------------------------    
       Song|Agent of destruction         \    File|agent.s3m (S3M)         \   
 Instrument|01:Bass                       +  Chord|none                     +  
      Order|000/022                       |C.Tempo|7D+-------------------+  |  
    Pattern|00+-----  Row|00|   Channel 01|C.Speed|06|         Baseoctave| 3|  
           +--+          +--+           +-+       +--+                   +--+  
                                                              FreeMem:  120K   
                                                              FreeEMS: 8064K   
  ESC ..... Main Menu     F1..F4 .. Edit Screen                                
  F10 ..... Quick-Help    CTRL-L .. Load Module                                
  CTRL-Q .. Quit to DOS   F5/F8 ... Play / Stop                                
-----------------------Order List and Variables (F1)--------------------------
    +--+      +------+   +------+                                       
 000|20|    01| L1 . | 17|(--). |                        Init Current   
 001|22|    02| R2 . | 18|(--). |                       +----+          
 002|19|    03| R3 . | 19|(--). |                  Tempo|8F  |          
 003|05|    04| L4 . | 20|(--). |                  Speed|06  |          
 004|06|    05| L5 . | 21|(--). |     GlobalVol (00..40)|40  |          
 005|23|    06| R6 . | 22|(--). |     MasterVol (10..7F)|30  |          
 006|07|    07| R7 . | 23|(--). |     Vol0 Optimizations|--  |          
 007|01|    08| L8 . | 24|(--). |     Force Amiga Limits|--  |          
 008|03|    09|(--). | 25|(--). |      Fast volumeslides|--  |          
 009|04|    10|(--). | 26|(--). |          MOD edit mode|--  |          
 010|02|    11|(--). | 27|(--). |     UltraClick-removal|8   |          
 011|00|    12|(--). | 28|(--). |          Enable Stereo|--  |          
 012|10|    13|(--). | 29|(--). |                       +----+          
 013|11|    14|(--). | 30|(--). |                                       
 014|12|    15|(--). | 31|(--). |                                       
 015|13|    16|(--). | 32|(--). |                                       
 016|14|      +------+   +------+                                       
 017|15|     ^  ^  ^   ^   ^  ^                                          
 018|16|     +--|--|---+---|--|--------- logical channel number
 019|17|        +--|-------+--|--------- logical channel name
 020|20|           +----------+--------- default panning column
 022|19|      +-----------------------------+                           
 023|--|  Song|Agent of destruction         |                           
 024|--|      +-----------------------------+                           

Changing the order in which patterns are played

The leftmost column on this screen is the order list. This is simply a 255 element table which lists the numbers of the patterns you wish to play in the song. Each element represents one pattern; patterns can be repeated simply by adding a new element with the same pattern number. A new pattern may be inserted into the list (but not the song) by pressing INS. Delete a pattern from the list (but not from the song) by pressing DEL.

In the above example, pattern 20 is the first pattern played in the song, followed by patterns 22, 19, 5, etc. Notice that pattern numbers are in decimal. (Note: when the cursor is in the order list column, pressing PgDn will bring up the next page; PgUp fetches the previous page).

Tip: If you want to load the pattern editor with a specific pattern in the list, place the cursor on top of the desired pattern number and press "G"

Changing the song speed/tempo

There are two variables which control how fast a song is played: tempo and speed. In mod songs, tempo is measured in terms of ticks per row (see terminology section); speed is measured in beats per minute. In music terminology, ticks per row is roughly equivalent to the time signature of a composition (e.g., "4/4"); beats per minute corresponds roughly to quarter notes per minute. The speed and tempo variables are the first two numbers in the rightmost column on the Order List and Variables screen. The are expressed as hexadecimal numbers. Decreasing the BPM speed or increasing the tempo slows down the song; increasing the BPM speed or decreasing the tempo speeds up the song.

Tip: set the tempo for a song and stick with it. If you need to modify the speed, change the beats per minute (i.e., the "Speed" number).

Changing the default channel panning

By default, each instrument is played through both speakers (mono mode). When you start a new ScreamTracker session, the stereo mode is turned off. You can enable stereo mode by pressing ALT-S. When stereo mode is first enabled, by default the first 8 channels are defined in the following order: Channel 1--left speaker; channel 2--right speaker; channel 3--right speaker; channel 4--left speaker. Channels 5 through 8 follow the same pattern. This means that all notes played on channel 1 will come from the left speaker. To change this assignment,

  • Make sure stereo mode is enabled (ALT-S).
  • press TAB until the cursor is in the channel panning window.
  • Move the cursor to the channel you wish to change.
  • Press the right arrow until the cursor is sitting over the dot character (".").
  • Type in a hexadecimal number from 0 to F representing the desired panning "position"--0 is all the way to the left, F is all the way to the right, 8 is exactly center.

Adding/deleting channels

To add a channel, place the cursor in the "logical channel name" column over an unused slot (designated by "--"), then type in either L or R, followed by a number from 1 to 8 (note: you can re-use a channel name). To delete a channel, press "-" (dash).

Silencing channels

When you're listening to your song, there are times you may wish to silence one or more channels--for example, you may which to turn off a drum track so you can hear what all the other instruments sound like more clearly. To silence one or more channels:

  • Go to the Pattern Editor screen (Press F2)
  • Press TAB to move the cursor to the channel you wish to silence.
  • Press ALT-F9. A pair of parentheses "()" will appear around the logical channel name (e.g., "L1", "R2", etc.) indicating that this channel is now silent. Press ALT-F9 once again and the channel will be turned back on.
  • Press ALT-F10 to turn all 32 channels off simultaneously. Press ALT-F10 again to turn them back on.



There are many new terms to learn. Don't try memorizing this list. Glance through the terms at least one time to begin with, then refer back to it whenever you encounter an unfamiliar term.

  • Sample--a digitized instrument file. Sample files come in two basic types: "raw" (or unformatted), and formatted.

    All samples have four basic characteristics:

    • format--either signed or unsigned. ScreamTracker generally expects unsigned sample files.
    • data width--either 8-bit or 16-bit. ScreamTracker only allows 8-bit sample files.
    • Sampling rate--This is the rate at which a sample was recorded. It is usually measured in Hertz (abbreviated Hz, or "cycles per second"), but sometimes you will see the more accurate term "samples per second" bandied about. Higher sample rates mean high sound quality (along with higher file sizes). There are literally dozens of "standards" for sample rates, but most samples you pick up from the Web will either be recorded at 8363 Hz (typically samples recorded on an Amiga machine), 11025 Hz, or 22050 Hz. (typically .WAV files).
    • default pitch--this relates to the frequency at which the original instrument was recorded. ScreamTracker refers to this frequency as the "C-4 Speed"--the note "C" played at the 4th octave.
    • size--Some trackers (such as FastTracker v2.06) allow unlimited sample size, but ScreamTracker does not. All samples in ST3 must be less than or equal to 64000 bytes (larger samples are truncated in memory when loaded).

    In addition to these items, ScreamTracker allows you to define two additional characteristics:

    • looping--ScreamTracker allows you to define "loops" (blocks of sample data which continuously repeat when played until you turn the note off) in your samples. Each loop has two pieces of information associated with it--the loop beginning point and the loop ending point.
    • default volume--Each sample has a default volume associated with it. This is a number from 0 to 64 corresponding to the volume at which the sample will be played if no other volume information is specified for the given note.

  • Mod (also module)--a file containing one or more samples and the instructions the computer needs to know how to play them. Collectively, "mod music" refers to any music which is created by a composer on a computer using a special program called a tracker

  • Tracker--a program such as ScreamTracker 3.21 which allows you to compose music using digitized instruments.

  • Channel--a logical unit of sound. The number of channels a tracker allows indicates how many instruments can be playing simultaneously in your mods. Although ScreamTracker documentation says it can handle 32 channels of digital sound (16 left and 16 right), this is not entirely correct; the SoundBlaster 16-bit card (and, I suspect, a good deal of others such as the GUS) only have two true channels--one left, and one right. ScreamTracker does give you capability to play 32 simultaneous instruments, but this effect is handled by a process known as mixing.

  • Panning--"Panning" refers to the stereo distribution of an instrument's sound through the left and right speakers.

  • Pattern--in ScreamTracker terminology, a "pattern" is a fixed-length block of data, 32 columns wide by 64 rows deep, which contains the note data and/or special effects to be played in a module.

  • Track--a single column of a pattern; corresponds to all of the notes played through one logical channel in a pattern.

  • Beat--4 rows in a pattern. Each pattern contains 64 rows or 16 "beats".

  • BPM (also known as BPM speed)--an acronym for Beats Per Minute; a measure of how fast a song is played.

  • Tick--a "tick" is the basic unit of timing in mods. All special effects are timed using the tick as a standard reference point. Tick time in seconds can be calculated by the following formula:
          ticktime = .02 * 125 / BPM.
    At the default BPM of 125, one tick = .02 seconds.
  • TPR(also known as tempo)--an acronym for Ticks Per Row. This is another unit of timing in mods that divides the pattern row into subintervals and can be used to calculate the duration of the note being played:
                                         TPR * 16
             row duration =            -------------
             (in seconds)                BPM * 6      
    The default number of ticks per row is 6, and default BPM is 125; thus the default duration of a row is
          one row = 6 * 16 / (125 * 6) = .12 seconds
          one pattern = 64 rows = 64 * .12 = 7.68 seconds
  • Order--the sequence in which the patterns are played in a mod. ScreamTracker allows up to 99 different patterns, but there are 255 order "slots" available--thus, one pattern may be played several different times in a song.
  • Hexadecimal--You'll need to know the hexadecimal numbering system at some point in your career as a tracker. It's not as complicated as it sounds. Hexadecimal represents numbers using base 16. In the decimal numbering system you have digits from 0 through 9. When you count in decimal, you begin "0, 1, 2...8, 9..." When the one's digit reaches 9, what happens? To keep counting, you have to add one to the 10's digit: "10, 11, 12". In a like manner, counting in hexadecimal begins "0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F" (A stands for 10, B stands for 11, and so on); to continue counting you have to add one to the 16's digit: "10, 11, 12, ... , 1E, 1F, 20..." To convert from hexadecimal to decimal, you have to add the decimal values of each "placeholder." For example:
                    3   5
                    ^   ^
                    |   +------- one's digit, decimal value = 1 * 5 =    5
                    +----------- 16's digit, decimal value = 3 * 16 =   48
                                        decimal equivalent -----------> 53

Going public: how to "publish" your song on the Internet

There are 4 basic ways of publishing your new song on the Internet:

  1. Ask someone who already has a music page on the Web to post your song for you
  2. Upload your song to the appropriate Usenet newsgroups;
  3. Upload your song to an FTP site which deals with mod music;
  4. Create your own web page.

Post your song to someone else's web page

This method is simple: use a web search engine such as Yahoo! or Lycos to look for music web pages--for a search argument, type in "mod s3m music". When you find a page that allows uploading, contact the webmaster and inform him or her of your intentions (usually such a page will contain a form for you to fill out). Although this is the easiest method of all, it also has the biggest drawback--there are very few pages that allow you to do such a thing. The primary reason is cost--most Internet providers charge money for file space on their server--in general, the more bytes you use up, the more you pay.

Upload your song to Usenet

If your web browser supports newsgroup viewing, this is perhaps the easiest method to "self-publish" your song. Usenet newsgroups allow you to advertise your song to large numbers of like-minded people who are interested in the same subject you are--making mod music. In Netscape 2.0 or greater (sorry, it's the only browser I use ;), here is the procedure involved:

  1. Click on the "Mail and News preferences" section of the Options menu

  2. Make sure the information under the "News server" section is correct (if you're unsure of your news server name, contact your Internet Service Provider)

  3. Back at the Netscape main window, type in "news:" followed by the name of one of the following newsgroups (or simply click the hyperlink provided):

  4. After the newsgroup article headers have loaded, click on the "To: News" button. In the "newsgroups" field on the form that comes up type in one or more of the above newsgroup names. In the "subject" field, type in the name of your song. In the text area of the form, type in a brief description of the song.

  5. Click on the "Attach" button, then use the file browser to find the song you wish to send;

  6. Click the "Send" button and go have a cup of coffee (posting newsgroup articles is notoriously slow)

Caution: Usenet newsgroups are notoriously uncensored--you may find foul language or pornographic descriptions in the subject headers and messages of any newsgroup you select. Although such messages are considered "off-topic" in a music/sound newsgroup, they do tend to appear from time to time.

Upload your song to an FTP site

There are many FTP sites which allow you to upload your song. I'd recommend the following sites to begin with:

Use the following general procedure for uploading your songs to FTP sites:

  1. Research the site--each FTP site usually has its own policies regarding uploads. Some sites have a README file containing uploading instructions; for other sites, you must contact the site administrator via email to inform them of your desire to upload mods; still other sites don't have any special instructions but have a special INCOMING directory designed to receive uploads. You can read Aminet's policies here. Contact Metronome FTP via email here.

  2. Prepare a README--many sites I've dealt with require you to send a README file containing a brief description of the song you're uploading. Here is a sample readme file for one of my own songs I uploaded to ftp.wustl.edu (Aminet):
      Short:          10-channel atmospheric mod by Pirate Pete
      Title:          "Waiting for Aliens"
      Uploader:       Pirate Pete (voltz.4@osu.edu)
      Time:           Approx 3m 41s
      Distribution:   atmos
      Description:    Can't seem to keep them critters out of my 
                      head, it seems. Here is yet another 
                      "Aliens"-inspired mod by that crusty buccaneer, 
                      Pirate Pete.     (Note: MOD4WIN 2.30 messes up 
                      a couple of bars--I'd recommend Cubic Player to 
                      listen to this).
      Contact:        voltz.4@osu.edu (Jack R. Voltz)
      Web:            http://www.ovnet.com/~voltz/index.htm

  3. Zip files--use PKZIP v2.04g or LHArc, v2.55 (depending on which ftp server you're planning on uploading to) to create an archive with a minimum of two files:
    • Your module (e.g., "DARKSKY.S3M")
    • The README file (e.g., "DARKSKY.REA")
    Assuming you're uploading to Metronome FTP, the archive file would be DARKSKY.ZIP; with Washington University, it should be DARKSKY.LHA

  4. Log the upload--create a special tracking file to store information about each song and where it was uploaded. For example:
    Song name Date Uploaded Host Local filename Host filename
    Dark Skies of October 02 Mar 98 ftp.wustl.edu \screamtk\modules\s3m\darksky.s3m /pub/aminet/mods/s3m/DarkSkies.s3m
    Winds of Change 15 Nov 97 ftp.lhg.hib.no \screamtk\modules\mod\winds.mod /pub/aminet/mods/instr/WindsOfChange.mod

    Tip: Notice how the "Host filenames" have names that are longer than the standard DOS 8+3 format? You can do this with WS_FTP.EXE by selecting the "specify destination filenames" box in the Session Options section of the Options menu.

  5. Upload the file--Upload the archive file to the FTP site.

Creating your own web page

This is the most difficult and time-consuming of the three options. It involves many different skills on your part, including HTML coding, form design, communications, and marketing. There's no guaranteed audience--you must work hard to advertise your page or no one will ever see it. But designing your own web page can also a very gratifying experience--there is nothing more thrilling than to be able to see your own creations flashing through cyberspace for all the world to see. Creating web pages is beyond the scope of this tutorial--for a good web primer, try this Yahoo search.

How to get samples

You can get samples three basic ways:

Links to other useful web sites

Music Back to my music page
Home Back to my home page
Mail Comments? Suggestions? Send me e-mail.