Tracks and Channels
Keywords: mma

Subsections

- MMA Tracks
- Track Channels
- Track Descriptions
  - Drum
  - Chord
  - Arpeggio
  - Scale
  - Bass
  - Walk
  - Plectrum
  - Solo and Melody
  - Automatic Melodies
- Silencing a Track

#
Tracks and Channels

This chapter discusses MMA tracks and MIDI channels. If you are reading this manual for the first time you might find some parts confusing. If you do just skip ahead—you can run MMA without knowing many of these details.

# MMA Tracks

To create your accompaniment tracks, MMA divides output into several internal tracks. There are a total of 10 basic track types. Each track type has its own algrorithms for managing patterns. An unlimited number of sub-tracks can be created.

When MMA is initialized there are no tracks assigned; however, as your library and song files are processed various tracks will be created. Each track is created a unique name. The basic track types are: ARIA, ARPEGGIO, BASS, CHORD, DRUM, MELODY, SCALE, SOLO, and PLECTRUM. Each is discussed later in this chapter.

Tracks are named by appending a “-” and “name” to the type-name. This makes it very easy to remember the names, without any complicated rules. So, drum tracks can have names “Drum-1”, “Drum-Loud” or even “Drum-a-long-name”. The other tracks follow the same rule.

In addition to the hyphenated names described above, you can also name a track using the type-name. So, “DRUM” is a valid drum track name. In the supplied library files you'll see that the hyphenated form is usually used to describe patterns.

All track names are case insensitive. This means that the names “Chord-Sus”, “CHORD-SUS” and “CHORD-sus” all refer to the same track.

If you want to see the names defined in a song, just run MMA on the file with the “-c” command line option.

# Track Channels

MIDI defines 16 distinct channels numbered 1 to 16.3.1 There is nothing which says that “chording” should be sent to a specific channel, but the drum channel should always be channel 10.3.2

For MMA to produce any output, a MIDI channel must be assigned to a track. During initialization all of the DRUM tracks are assigned to special MIDI channel 10. As musical data is created other MIDI channels are assigned to various tracks as needed.

Channels are assigned from 16 down to 1. This means that the lower numbered channels will most likely not be used, and will be available for other programs or as a “keyboard track” on your synth.

In most cases this will work out just fine. However, there are a number of methods you can use to set the channels “manually”. You might want to read the sections on CHANNEL (here), CHSHARE (here), ON (here), and OFF (here).

Why bother with all these channels? It would be much easier to put all the information onto one channel, but this would not permit you to set special effects (like MIDIGLIS or MIDIPAN) for a specific track. It would also mean that all your tracks would need to use the same instrumentation.

# Track Descriptions

You might want to come back to this section after reading more of the manual. But, somewhere, the different track types, and why they exist needs to be detailed.

Musical accompaniment comes in a combination of the following:

- Chords played in a rhythmic or sustained manner,

- Single notes from chords played in a sustained manner,

- Bass notes. Usually played one at a time in a rhythmic manner,

- Scales, or parts of scales. Usually as an embellishment,

- Single notes from chords played one at time: arpeggios.

- Drums and other percussive instruments played rhythmically.

Of course, this leaves the melody ... but that is up to you, not MMA ... but, if you suspect that some power is missing here, read the brief description of SOLO and MELODY tracks (here) and the complete “Solo and Melody Tracks” chapter (here).

MMA comes with several types of tracks, each designed to fill different accompaniment roles. However, it's quite possible to use a track for different roles than originally envisioned. For example, the bass track can be used to generate a single, sustained treble note—or, by enabling HARMONY, multiple notes.

The following sections give an overview of the basic track types, and give a few suggestions on their uses.

## Drum

Drums are the first thing one usually thinks about when we hear the word “accompaniment”. All MMA drum tracks share MIDI channel 10, which is a GM MIDI convention. Drum tracks play single notes determined by the TONE setting for a particular sequence.

## Chord

If you are familiar with the sound of guitar strumming, then you're familiar with the sound of a chord. MMA chord tracks play a number of notes, all at the same time. The volume of the notes (and the number of notes) and the rhythm is determined by pattern definitions. The instrument used for the chord is determined by the VOICE setting for a sequence.

## Arpeggio

In musical terms an arpeggio3.3 is the notes of a chord played one at a time. MMA arpeggio tracks take the current chord and, in accordance to the current pattern, play single notes from the chord. The choice of which note to play is mostly decided by MMA . You can help it along with the DIRECTION modifier.

ARPEGGIO tracks are used quite often to highlight rhythms. Using the RSKIP directive produces broken arpeggios.

Using different note length values in patterns helps to make interesting accompaniments.

## Scale

The playing of scales is a common musical embellishment which adds depth and character to a piece.

When MMA plays a scale, it first determines the current chord. There is an associated scale for each chord which attempts to match the flavor of that chord. The following table sums up the logic used to create the scales:

Major
  A major scale,

Minor
  A melodic minor scale,3.4

Diminished
  A melodic minor scale with a minor fifth and minor dominant seventh.

Etc
  Other scales are developed in a similar manner. If you need to know, look at the source file chordtable.py.

All scales start on the tonic of the current chord.

If the SCALETYPE is set to CHROMATIC, then a chromatic scale is used. The default for SCALETYPE is AUTO.

MMA plays successive notes of a scale. The timing and length of the notes is determined by the current pattern. Depending on the DIRECTION setting, the notes are played up, down or up and down the scale.

## Bass

BASS tracks are designed to play single notes for a chord for standard bass patterns. The note to be played, as well as its timing, is determined by the pattern definition. The pattern defines which note from the current chord or scale to play. For example, a standard bass pattern might alternate the playing of the root and fifth notes of a scale. You can also use BASS tracks to play single, sustained treble notes.

## Walk

The WALK tracks are designed to imitate “walking bass” lines. Traditionally, they are played on bass instruments like the upright bass, bass guitar or tuba.

A WALK track uses a pattern to define the note timing and volume. Which note is played is determined from the current chord and a simplistic direction algorithm. There is no user control over the note selection.

##
Plectrum

PLECTRUM tracks emulate the sound of a plucked instrument like a guitar or banjo. All other MMA tracks take a note length or duration option in their sequence definitions — PLECTRUM tracks are different: the sounds in these tracks continue to sound until a new chord or pattern is encountered. They can also sound “fuller” than other tracks since more notes tend to be played.

##
Solo and Melody

SOLO and MELODY tracks are used for arbitrary note data. Most likely, this is a melody or counter-melody ... but these tracks can also be used to create interesting endings, introductions or transitions.

##
Automatic Melodies

Real composers don't need to fear much from this feature ... but it can create some interesting effects. ARIA tracks use a predefined pattern to generate melodies over a chord progression. They can be used to actually compose a bit of music or simply to augment a section of an existing piece.

# Silencing a Track

There are a number of ways to silence a track:

- Use the OFF command to stop the generation of MIDI data here.

- Disable the sequence for the bar with an empty sequence here.

- Delete the entire sequence with SEQCLEAR here.

- Disable the MIDI channel with a “Channel 0” here.

- Force only the generation of specific tracks with the -T command line option here.

Please refer to the appropriate sections on this manual for further details.

#### Footnotes

... 16.3.1
  The values 1 to 16 are used in this document. Internally they are stored as values 0 to 15.
... 10.3.2
  This is not a MIDI rule, but a convention established in the GM (General MIDI) standard. If you want to find out more about this, there are lots of books on MIDI available.
...arpeggio3.3
  The term is derived from the Italian “to play like a harp”.
... scale,3.4
  If you think that support for Melodic and Harmonic minor scales is important, please contact us.