Subsections


Symbols and Constants

This appendix is a reference to the chords that MMA recognizes and name/value tables for drum and instrument names. The tables have been auto-generated by MMA using the -D options.

Chord Names

MMA recognizes standard chord names as listed below. The names are case sensitive and must be entered in uppercase letters as shown:

A A$\sharp$ A$\flat$ B B$\sharp$ B$\flat$ C C$\sharp$ C$\flat$ D D$\sharp$ D$\flat$ E E$\sharp$ E$\flat$ F F$\sharp$ F$\flat$ G G$\sharp$ G$\flat$

Please note that in your input files you must use a lowercase “b” or an “&” to represent a $\flat$ and a “#” for a $\sharp$.

All “7th” chords are “dominant 7th” unless specifically noted as “major”. A dominant 7th has a flattened 7th note (in a C7 chord this is a b$\flat$; a C Major 7th chord has a b$\natural$).

For a more detailed listing of the chords, notes and scales you should download the document www.mellowood.ca/mma/chords.pdf.gz.

The following types of chords are recognized (these are case sensitive and must be in the mixed upper and lowercase shown):

($\sharp$5) Augmented triad.
(add$\sharp$9) Major chord plus sharp 9th (no 7th.)
(add9) Major chord plus 9th (no 7th.)
(add$\flat$9) Major chord plus flat 9th (no 7th.)
($\flat$5) Major triad with flat 5th. MMA notatation requires the () around the name.
+ Augmented triad.
+7 An augmented chord (raised 5th) with a dominant 7th.
+7$\sharp$9 An augmented chord (raised 5th) with a dominant 7th and sharp 9th.
+7$\flat$9 An augmented chord (raised 5th) with a dominant 7th and flat 9th.
+7$\flat$9$\sharp$11 Augmented 7th with flat 9th and sharp 11th.
+9 7th plus 9th with sharp 5th (same as aug9).
+9M7 An augmented chord (raised 5th) with a major 7th and 9th.
+M7 Major 7th with sharp 5th.
11 9th chord plus 11th (3rd not voiced).
11$\sharp$5 Augmented 11th (sharp 5).
11+ Augmented 11th (sharp 5).
11$\flat$9 7th chord plus flat 9th and 11th.
13 7th (including 5th) plus 13th (the 9th and 11th are not voiced).
13$\sharp$11 7th plus sharp 11th and 13th (9th not voiced).
13$\sharp$9 7th (including 5th) plus 13th and sharp 9th (11th not voiced).
13$\flat$5 7th with flat 5th, plus 13th (the 9th and 11th are not voiced).
13$\flat$9 7th (including 5th) plus 13th and flat 9th (11th not voiced).
13sus 7sus, plus 9th and 13th
13sus4 7sus, plus 9th and 13th
13sus$\flat$9 7sus, plus flat 9th and 13th
5 Altered Fifth or Power Chord; root and 5th only.
6 Major triad with added 6th.
6(add9) 6th with added 9th. This is sometimes notated as a slash chord in the form “6/9”. MMA voices the 6th an octave higher.
69 6th with added 9th. This is sometimes notated as a slash chord in the form “6/9”. MMA voices the 6th an octave higher.
7 7th.
7$\sharp$11 7th plus sharp 11th (9th omitted).
7$\sharp$5 An augmented chord (raised 5th) with a dominant 7th.
7$\sharp$5$\sharp$9 7th with sharp 5th and sharp 9th.
7$\sharp$5$\flat$9 An augmented chord (raised 5th) with a dominant 7th and flat 9th.
7$\sharp$9 7th with sharp 9th.
7$\sharp$9$\sharp$11 7th plus sharp 9th and sharp 11th.
7$\sharp$9$\flat$13 7th with sharp 9th and flat 13th.
7(6) 7th with added 6th.
7(add13) 7th with added 13th.
7(omit3) 7th with unvoiced 3rd.
7+ An augmented chord (raised 5th) with a dominant 7th.
7+5 An augmented chord (raised 5th) with a dominant 7th.
7+9 7th with sharp 9th.
7-5 7th, flat 5.
7-9 7th with flat 9th.
7alt Uses a 7th flat 5, flat 9. Probably not correct, but works (mostly).
7$\flat$13 7th (including 5th) plus flat 13th (the 9th and 11th are not voiced).
7$\flat$5 7th, flat 5.
7$\flat$5$\sharp$9 7th with flat 5th and sharp 9th.
7$\flat$5(add13) 7th with flat 5 and 13th.
7$\flat$5$\flat$9 7th with flat 5th and flat 9th.
7$\flat$9 7th with flat 9th.
7$\flat$9$\sharp$11 7th plus flat 9th and sharp 11th.
7$\flat$9sus 7th with suspended 4th and flat 9th.
7omit3 7th with unvoiced 3rd.
7sus 7th with suspended 4th, dominant 7th with 3rd raised half tone.
7sus2 A sus2 with dominant 7th added.
7sus4 7th with suspended 4th, dominant 7th with 3rd raised half tone.
7sus$\flat$9 7th with suspended 4th and flat 9th.
9 7th plus 9th.
9$\sharp$11 7th plus 9th and sharp 11th.
9$\sharp$5 7th plus 9th with sharp 5th (same as aug9).
9+ 7th plus 9th with sharp 5th (same as aug9).
9+5 7th plus 9th with sharp 5th (same as aug9).
9-5 7th plus 9th with flat 5th.
9$\flat$5 7th plus 9th with flat 5th.
9$\flat$6 9th with flat 6 (no 5th or 7th).
9sus 7sus plus 9th.
9sus4 7sus plus 9th.
M Major triad. This is the default and is used in the absence of any other chord type specification.
M$\sharp$11 Major triad plus sharp 11th.
M11 Major 9th plus 11th.
M13 Major 7th (including 5th) plus 13th (9th and 11th not voiced).
M13$\sharp$11 Major 7th plus sharp 11th and 13th (9th not voiced).
M6 Major triad with added 6th.
M7 Major 7th.
M7$\sharp$11 Major 7th plus sharp 11th (9th omitted).
M7$\sharp$5 Major 7th with sharp 5th.
M7(add13) 7th (including 5th) plus 13th and flat 9th (11th not voiced).
M7+5 Major 7th with sharp 5th.
M7-5 Major 7th with a flat 5th.
M7$\flat$5 Major 7th with a flat 5th.
M9 Major 7th plus 9th.
M9$\sharp$11 Major 9th plus sharp 11th.
add$\sharp$9 Major chord plus sharp 9th (no 7th.)
add9 Major chord plus 9th (no 7th.)
add$\flat$9 Major chord plus flat 9th (no 7th.)
aug Augmented triad.
aug7 An augmented chord (raised 5th) with a dominant 7th.
aug7$\sharp$9 An augmented chord (raised 5th) with a dominant 7th and sharp 9th.
aug7$\flat$9 An augmented chord (raised 5th) with a dominant 7th and flat 9th.
aug9 7th plus 9th with sharp 5th (same as aug9).
aug9M7 An augmented chord (raised 5th) with a major 7th and 9th.
dim A dim7, not a triad!
dim($\flat$13) Diminished seventh, added flat 13th.
dim3 Diminished triad (non-standard notation).
dim7 Diminished seventh.
dim7(addM7) Diminished triad with added Major 7th.
m Minor triad.
m$\sharp$5 Minor triad with augmented 5th.
m$\sharp$7 Minor Triad plus Major 7th. You will also see this printed as “m(maj7)”, “m+7”, “min(maj7)” and “min$\sharp$7” (which MMA accepts); as well as the MMA invalid forms: “-(Δ7)”, and “min$\natural$7”.
m(add9) Minor triad plus 9th (no 7th).
m($\flat$5) Minor triad with flat 5th (aka dim).
m(maj7) Minor Triad plus Major 7th. You will also see this printed as “m(maj7)”, “m+7”, “min(maj7)” and “min$\sharp$7” (which MMA accepts); as well as the MMA invalid forms: “-(Δ7)”, and “min$\natural$7”.
m(sus9) Minor triad plus 9th (no 7th).
m+ Minor triad with augmented 5th.
m+5 Minor triad with augmented 5th.
m+7 Minor Triad plus Major 7th. You will also see this printed as “m(maj7)”, “m+7”, “min(maj7)” and “min$\sharp$7” (which MMA accepts); as well as the MMA invalid forms: “-(Δ7)”, and “min$\natural$7”.
m+7$\sharp$9 Augmented minor 7 plus sharp 9th.
m+7$\flat$9 Augmented minor 7 plus flat 9th.
m+7$\flat$9$\sharp$11 Augmented minor 7th with flat 9th and sharp 11th.
m11 9th with minor 3rd, plus 11th.
m11$\flat$5 Minor 7th with flat 5th plus 11th.
m13 Minor 7th (including 5th) plus 13th (9th and 11th not voiced).
m6 Minor 6th (flat 3rd plus a 6th).
m6(add9) Minor 6th with added 9th. This is sometimes notated as a slash chord in the form “m6/9”.
m69 Minor 6th with added 9th. This is sometimes notated as a slash chord in the form “m6/9”.
m7 Minor 7th (flat 3rd plus dominant 7th).
m7$\sharp$5 Minor 7th with sharp 5th.
m7$\sharp$9 Minor 7th with added sharp 9th.
m7($\sharp$9) Minor 7th with added sharp 9th.
m7(add11) Minor 7th plus 11th.
m7(add13) Minor 7th plus 13th.
m7($\flat$9) Minor 7th with added flat 9th.
m7(omit5) Minor 7th with unvoiced 5th.
m7-5 Minor 7th, flat 5 (aka 1/2 diminished).
m7$\flat$5 Minor 7th, flat 5 (aka 1/2 diminished).
m7$\flat$5$\flat$9 Minor 7th with flat 5th and flat 9th.
m7$\flat$9 Minor 7th with added flat 9th.
m7$\flat$9$\sharp$11 Minor 7th plus flat 9th and sharp 11th.
m7omit5 Minor 7th with unvoiced 5th.
m7sus Minor suspended 4th, minor triad plus 4th and dominant 7th.
m7sus4 Minor suspended 4th, minor triad plus 4th and dominant 7th.
m9 Minor triad plus 7th and 9th.
m9$\sharp$11 Minor 7th plus 9th and sharp 11th.
m9$\flat$5 Minor triad, flat 5, plus 7th and 9th.
mM7 Minor Triad plus Major 7th. You will also see this printed as “m(maj7)”, “m+7”, “min(maj7)” and “min$\sharp$7” (which MMA accepts); as well as the MMA invalid forms: “-(Δ7)”, and “min$\natural$7”.
mM7(add9) Minor Triad plus Major 7th and 9th.
maj13 Major 7th (including 5th) plus 13th (9th and 11th not voiced).
maj7 Major 7th.
maj9 Major 7th plus 9th.
m$\flat$5 Minor triad with flat 5th (aka dim).
m$\flat$9 Minor chord plus flat 9th (no 7th.)
min$\sharp$7 Minor Triad plus Major 7th. You will also see this printed as “m(maj7)”, “m+7”, “min(maj7)” and “min$\sharp$7” (which MMA accepts); as well as the MMA invalid forms: “-(Δ7)”, and “min$\natural$7”.
min(maj7) Minor Triad plus Major 7th. You will also see this printed as “m(maj7)”, “m+7”, “min(maj7)” and “min$\sharp$7” (which MMA accepts); as well as the MMA invalid forms: “-(Δ7)”, and “min$\natural$7”.
msus Minor suspended 4th, minor triad plus 4th.
msus4 Minor suspended 4th, minor triad plus 4th.
omit3(add9) Triad: root, 5th and 9th.
omit3add9 Triad: root, 5th and 9th.
sus Suspended 4th, major triad with the 3rd raised half tone.
sus(add$\sharp$9) Suspended 4th, major triad with the 3rd raised half tone plus sharp 9th.
sus(add9) Suspended 4th, major triad with the 3rd raised half tone plus 9th.
sus(add$\flat$9) Suspended 4th, major triad with the 3rd raised half tone plus flat 9th.
sus2 Suspended 2nd, major triad with the major 2nd above the root substituted for 3rd.
sus4 Suspended 4th, major triad with the 3rd raised half tone.
sus9 7sus plus 9th.
o A dim7 using a degree symbol
o(addM7) dim7(addM7) using degree symbol
o3 A dim3 (triad) using a degree symbol
ø Half-diminished using slashed degree symbol
In all cases, the “types” defined above follow the chord “name” with no intervening space or other character. For example, use “G#m&5” to enter a “G# minor flat 5” chord.

In modern pop charts the “M” in a major 7th chord (and other major chords) is often represented by a “Δ”. When entering these chords, just replace the “Δ” with an “M”. For example, change “GΔ7” (or “Gmaj7”) to “GM7”.

A chord name without a type is interpreted as a major chord (or triad). For example, the chord “C” is identical to “CM”.

There are also a number of not-chord items, ie: “z”, “z!” and “CzDC. These are MMA 's idea of rests. See details here.

MMA has an large set of defined chords. However, you can add your own with the DEFCHORD command, details here.


Octave Adjustment

Depending on the key and chord sequence, a chord may end up in the wrong octave. This is caused by MMA 's internal routines which create a chord: all of the tables are maintained for a “C” chord and the others are derived from that point by subtracting or adding a constant. To compensate you can add leading “-”s or “+”s to the chordname to force the movement of that chord and scale up or down. You can have multiple “+”s or “-”s without internal limits, but in more cases anything more than three is just silly. If you find you're needing lots of octave adjustments, you might want to look at the octave setting in the underlying track.

For example, the following line will move the chord up and down for the third and fourth beats:

Cm Fm -Gm +D7

The effect of octave shifting is also highly dependent on the voicing options in effect for the track.

You'll have to listen to the MMA output to determine when and where to use this adjustment. Hopefully, it won't be needed all that much.

If you have a large number of chords to adjust, use the CHORDADJUST command , here.

Altered Chords

According to Standardized Chord Symbol Notation altered chords should be written in the form Cmi 7($\scriptstyle \flat$9$\scriptstyle \sharp$5). However, this is pretty hard to type (and parse). So, we've used the convention that the altered intervals should be written in numerical order: Cm7$\sharp$5$\flat$9 (in this case the “7” is not “altered”, it's part of the chord name). Also, note that we use “m” for “minor” which appears to be more the conventional method than “mi”.

Diminished Chords

In some pop and jazz charts it is assumed that a diminished chord is always a diminished 7th ... a diminished triad is never played. MMA continues this, sometimes erroneous, assumption.A.1 You can change the behavior in several ways: change the chord notes and scale for a “dim” from a dim7 to a triad by following the instructions here; use the slightly oddball notation of “m$\flat$5” which generates a “diminished triad”; or use the more-oddball notation “dim3”.A.2 A more generic solution is to use TWEAKS to change between “7th” and “triad” (see here for details). Our recommendation is to use “m$\flat$5” for the triad and “dim7” for the four note chord.

Notational notes: In printed music a “diminished” chord is sometimes represented with a small circle symbol (e.g., “F o”) and a “half-diminished” as a small slashed circle (e.g., “C ø”). MMA accepts this input so long as:

o is represented by the character code 176,
ø is represented by the character code 248.


Slash Chords

Charts sometimes use slash chords in the form “Am/E”. This notation is used, mainly, to indicate chord inversions. For example, the chord notes in “Am/E” become “E”, “A” and “C” with the “E” taking the root position. MMA will accept chords of this type. However, you may not notice any difference in the generated tracks due to the inversions used by the current pattern.

You may also encounter slash chords where the note after the “slash” is not a note in the chord. Consider the ambiguous notation “Dm/C”. The composer (or copyist) might mean to add a “C” bass note to a “Dm” chord, or she might mean “Dm7”, or even an inverted “Dm7”. MMA will handle these ... almost perfectly. When the “slash” part of the chord indicates a note which is not a note in the chord, MMA assumes that the indicated note should be used in the bass line. Since each chord generated by MMA also has a “scale” associated with it for use by bass and scale patterns this works. For example, a C Major chord will have the scale “c, d, e, f, g, a, b”; a C Minor chord has the same scale, but with an e$\flat$. If the slash note is contained in the scale, the scale will be rotated so that the note becomes the “root” note.

A warning message will be printed if the note is not in the scale associated with the chord. In this case the slash part will have no effect. A list of chords which do use the specified note is listed and you might want to change the chord type to include the slashed note. For example, if you have the notation “C/B$\flat$” you might want to change that to “C7/B$\flat$” since the dominant seventh chord includes the “B$\flat$” (note that a C major chord only has the notes “c”, “e” and “g” in it, but its associated scale major has “b”, not “b$\flat$”).

Another notation you may see is something like “Dm/9”. Again, the meaning is not clear. It probably means a “Dm9”, or “Dm9/E” ... but since MMA isn't sure this notation will generate an error.

As an option, you can use a Roman or Arabic numeral in the range “I” to “VII” or “1” to “7” to specify the bass note (sometimes referred to as “fingered bass”). For example, to specify the bass note as the 5th in a C major chord you can use either G/D, G/V, or G/v. The Roman portion can be in upper or lower case.

Please note that, for fairly obvious reasons, you cannot have both slash notation and an inversion (see the next section).

To summarize how MMA handles slash notes:

For more details on “slash chords” your favorite music theory book or teacher is highly recommended!

Polychords

In modern music chords can be quite complex and difficult to notate in anything but standard sheet music. In addition to the slash chords discussed above there are also POLYCHORDS. Simply stated a polychord is the result of two (or more) chords played at the same time. In traditional music theory this is notated as a fraction. So, a Dmajor chord combined with a Cseventh could be notated as D/C7. In traditional theory, the notes in the D chord would be played higher (above) the notes of the C7 chord.

MMA handles polychords by specifying the two parts joined by a “pipe” symbol. So, the example above would be notated as:

C7¦D

For optimal results, you should understand the process by which MMA creates the new chord:

  1. The notes for the first chord and the underlying scale are calculated,
  2. The notes for the second chord are calculated,
  3. The notes are combined (with duplicates removed).
  4. If the new chord is longer than 8 notes it is truncated (and a warning message is displayed).

Note that the scale list used by BASS and SCALE is the one belonging to the first chord; the second chord's octave is not adjusted; and no volume changes between the two chords are made. This means that you most likely should take care to ensure the following:

It is possible to combine slash, barre, octave and inversions with polychords. In the case of barre only the value for the first chord is used.

A cute trick is to create a “pretend” polychord by duplicating the chord into a higher octave. For example, the chord “D¦+D” will generate two D major chords an octave apart. You might use this to make a single bar sound brighter. If you are not hearing what you think should, examine the VOICING for the track—VOICING MODE=OPTIMAL will remove the duplicate notes you are trying to insert.

Chord Inversions

Instead of using a slash chord you can specify an inversion to use with a chord. The notation is simply an “>” and a number between -5 and 5 immediately following the chord name.

The chord will be “rotated” as specified by the value after the “>”.

For example, the chord “C>2” will generate the notes G, C and E; “F>-1” gives C, F and A.

There is an important difference between this option and a slash chord: in inversions neither the root note nor the associated scale are modified.

The actual effect of a chord inversion will vary, perhaps greatly, depending on the VOICING mode. For example, using an inverted chord with VOICING MODE=OPTIMAL makes no difference at all, using with VOICING MODE=NONE (the default) gives the most difference.


Barre Settings

It is possible to set a barre for a chord in a PLECTRUM track by adding a “:” and a value to the chordname. A barre setting must be the last item in a chordname and is only used by PLECTRUM tracks. Barre values can be negative, meaning your guitar is getting bigger.A.4Examples include “Cm:3”, “E7>2:-2” and “+F:4”.

Important: unlike a real instrument, MMA barre does not transpose the chord. The same chord is played, but with a higher tonality. See here for details on creating transposing chord shapes in PLECTRUM tracks.


Roman Numerals

Instead of standard chord symbol notation you can use roman numerals to specify chords. This is not the place for music theory, but, simply put, a roman numeral specifies an interval based on the current key. So, in the key of C Major a ”I” would be a C major chord, “V” a G major, etc.

When using Roman numeral chords it is very important to set the KEYSIGnature! Failing to do this will result in undefined behavior.A.5 See here for details on setting the key signature.

MMA recognizes the following:

 
I to VII
These uppercase roman numerals represent major chords.

i to vii
Lowercase roman numerals represent minor chords.

In addition, certain modifiers can be used to specify a chord quality (major, diminished, etc). These are appended to the roman numeral (without spaces). MMA is a bit lazy when it comes to the strict interpretation of chord qualities and permits many constructions which are technically incorrect (but work fine musically). Quality modifiers include the following:

 
0, o, O or o
a diminished triad. Only valid with lowercase (minor) numerals,
07, o7, O7 or o
a diminished seventh chord. Only valid with lowercase (minor) numerals,
-07, -o7, -O7 or ø
a half diminished seventh chord. Only valid with lowercase (minor) numerals,
b or &
Lowers the resulting chord pitch by a semitone,
#
Raises the resulting chord pitch by a semitone.

Examples of roman numeral chords include “I”, “IV”, “V7”, “ii0”, “V13” and “v13”.

Other chord modifiers such as octave adjustment, capo and inversions can be combined with roman numerals. So, “I:3”, “+ii>2” and “IV7>2:-2” are legitimate.

When specifying chords in Roman numeral notation “slash” inversions should be specified in Arabic or Roman numerals, details here.A.6

MMA 's implementation differs from the standard in several ways:

To aid in debugging, a special DEBUG option ROMAN is provided. When enabled this will display the conversions for both Roman numeral chords and slash notation. See here for information to enable/disable this option.


MIDI Voices

When setting a voice for a track (i.e., Bass Voice NN), you can specify the patch to use with a symbolic constant. Any combination of upper and lower case is permitted. The following are the names with the equivalent voice numbers:

Voices, Alphabetically

5thSawWave 86
Accordion 21
AcousticBass 32
AgogoBells 113
AltoSax 65
Applause/Noise 126
Atmosphere 99
BagPipe 109
Bandoneon 23
Banjo 105
BaritoneSax 67
Bass&Lead 87
Bassoon 70
BirdTweet 123
BottleBlow 76
BowedGlass 92
BrassSection 61
BreathNoise 121
Brightness 100
Celesta 8
Cello 42
Charang 84
ChifferLead 83
ChoirAahs 52
ChurchOrgan 19
Clarinet 71
Clavinet 7
CleanGuitar 27
ContraBass 43
Crystal 98
DistortionGuitar 30
EchoDrops 102
EnglishHorn 69
EPiano 5
Fantasia 88
Fiddle 110
FingeredBass 33
Flute 73
FrenchHorn 60
FretlessBass 35
Glockenspiel 9
Goblins 101
GuitarFretNoise 120
GuitarHarmonics 31
GunShot 127
HaloPad 94
Harmonica 22
HarpsiChord 6
HelicopterBlade 125
Honky-TonkPiano 3
IceRain 96
JazzGuitar 26
Kalimba 108
Koto 107
Marimba 12
MelodicTom1 117
MetalPad 93
MusicBox 10
MutedGuitar 28
MutedTrumpet 59
NylonGuitar 24
Oboe 68
Ocarina 79
OrchestraHit 55
OrchestralHarp 46
Organ1 16
Organ2 17
Organ3 18
OverDriveGuitar 29
PanFlute 75
Piano1 0
Piano2 1
Piano3 2
Piccolo 72
PickedBass 34
PizzicatoString 45
PolySynth 90
Recorder 74
ReedOrgan 20
ReverseCymbal 119
RhodesPiano 4
Santur 15
SawWave 81
SeaShore 122
Shakuhachi 77
Shamisen 106
Shanai 111
Sitar 104
SlapBass1 36
SlapBass2 37
SlowStrings 49
SoloVoice 85
SopranoSax 64
SoundTrack 97
SpaceVoice 91
SquareWave 80
StarTheme 103
SteelDrums 114
SteelGuitar 25
Strings 48
SweepPad 95
SynCalliope 82
SynthBass1 38
SynthBass2 39
SynthBrass1 62
SynthBrass2 63
SynthDrum 118
SynthStrings1 50
SynthStrings2 51
SynthVox 54
TaikoDrum 116
TelephoneRing 124
TenorSax 66
Timpani 47
TinkleBell 112
TremoloStrings 44
Trombone 57
Trumpet 56
Tuba 58
TubularBells 14
Vibraphone 11
Viola 41
Violin 40
VoiceOohs 53
WarmPad 89
Whistle 78
WoodBlock 115
Xylophone 13

Voices, By MIDI Value

0 Piano1
1 Piano2
2 Piano3
3 Honky-TonkPiano
4 RhodesPiano
5 EPiano
6 HarpsiChord
7 Clavinet
8 Celesta
9 Glockenspiel
10 MusicBox
11 Vibraphone
12 Marimba
13 Xylophone
14 TubularBells
15 Santur
16 Organ1
17 Organ2
18 Organ3
19 ChurchOrgan
20 ReedOrgan
21 Accordion
22 Harmonica
23 Bandoneon
24 NylonGuitar
25 SteelGuitar
26 JazzGuitar
27 CleanGuitar
28 MutedGuitar
29 OverDriveGuitar
30 DistortionGuitar
31 GuitarHarmonics
32 AcousticBass
33 FingeredBass
34 PickedBass
35 FretlessBass
36 SlapBass1
37 SlapBass2
38 SynthBass1
39 SynthBass2
40 Violin
41 Viola
42 Cello
43 ContraBass
44 TremoloStrings
45 PizzicatoString
46 OrchestralHarp
47 Timpani
48 Strings
49 SlowStrings
50 SynthStrings1
51 SynthStrings2
52 ChoirAahs
53 VoiceOohs
54 SynthVox
55 OrchestraHit
56 Trumpet
57 Trombone
58 Tuba
59 MutedTrumpet
60 FrenchHorn
61 BrassSection
62 SynthBrass1
63 SynthBrass2
64 SopranoSax
65 AltoSax
66 TenorSax
67 BaritoneSax
68 Oboe
69 EnglishHorn
70 Bassoon
71 Clarinet
72 Piccolo
73 Flute
74 Recorder
75 PanFlute
76 BottleBlow
77 Shakuhachi
78 Whistle
79 Ocarina
80 SquareWave
81 SawWave
82 SynCalliope
83 ChifferLead
84 Charang
85 SoloVoice
86 5thSawWave
87 Bass&Lead
88 Fantasia
89 WarmPad
90 PolySynth
91 SpaceVoice
92 BowedGlass
93 MetalPad
94 HaloPad
95 SweepPad
96 IceRain
97 SoundTrack
98 Crystal
99 Atmosphere
100 Brightness
101 Goblins
102 EchoDrops
103 StarTheme
104 Sitar
105 Banjo
106 Shamisen
107 Koto
108 Kalimba
109 BagPipe
110 Fiddle
111 Shanai
112 TinkleBell
113 AgogoBells
114 SteelDrums
115 WoodBlock
116 TaikoDrum
117 MelodicTom1
118 SynthDrum
119 ReverseCymbal
120 GuitarFretNoise
121 BreathNoise
122 SeaShore
123 BirdTweet
124 TelephoneRing
125 HelicopterBlade
126 Applause/Noise
127 GunShot


Drum Tones

When defining a drum tone, you can specify the patch to use with a symbolic constant. Any combination of upper and lower case is permitted. In addition to the drum tone name and the MIDI value, the equivalent “name” in superscript is included. The “names” may help you find the tones on your keyboard.

Drum Tones, Alphabetically

Cabasa 69A
Castanets 84C
ChineseCymbal 52E
Claves 75E$\scriptstyle \flat$
ClosedHiHat 42G$\scriptstyle \flat$
CowBell 56A$\scriptstyle \flat$
CrashCymbal1 49D$\scriptstyle \flat$
CrashCymbal2 57A
HandClap 39E$\scriptstyle \flat$
HighAgogo 67G
HighBongo 60C
HighQ 27E$\scriptstyle \flat$
HighTimbale 65F
HighTom1 50D
HighTom2 48C
HighWoodBlock 76E
JingleBell 83B
KickDrum1 36C
KickDrum2 35B
LongGuiro 74D
LongLowWhistle 72C
LowAgogo 68A$\scriptstyle \flat$
LowBongo 61D$\scriptstyle \flat$
LowConga 64E
LowTimbale 66G$\scriptstyle \flat$
LowTom1 43G
LowTom2 41F
LowWoodBlock 77F
Maracas 70B$\scriptstyle \flat$
MetronomeBell 34B$\scriptstyle \flat$
MetronomeClick 33A
MidTom1 47B
MidTom2 45A
MuteCuica 78G$\scriptstyle \flat$
MuteHighConga 62D
MuteSurdo 85D$\scriptstyle \flat$
MuteTriangle 80A$\scriptstyle \flat$
OpenCuica 79G
OpenHighConga 63E$\scriptstyle \flat$
OpenHiHat 46B$\scriptstyle \flat$
OpenSurdo 86D
OpenTriangle 81A
PedalHiHat 44A$\scriptstyle \flat$
RideBell 53F
RideCymbal1 51E$\scriptstyle \flat$
RideCymbal2 59B
ScratchPull 30G$\scriptstyle \flat$
ScratchPush 29F
Shaker 82B$\scriptstyle \flat$
ShortGuiro 73D$\scriptstyle \flat$
ShortHiWhistle 71B
SideKick 37D$\scriptstyle \flat$
Slap 28E
SnareDrum1 38D
SnareDrum2 40E
SplashCymbal 55G
SquareClick 32A$\scriptstyle \flat$
Sticks 31G
Tambourine 54G$\scriptstyle \flat$
VibraSlap 58B$\scriptstyle \flat$

Drum Tones, by MIDI Value

27 HighQE$\scriptstyle \flat$
28 SlapE
29 ScratchPushF
30 ScratchPullG$\scriptstyle \flat$
31 SticksG
32 SquareClickA$\scriptstyle \flat$
33 MetronomeClickA
34 MetronomeBellB$\scriptstyle \flat$
35 KickDrum2B
36 KickDrum1C
37 SideKickD$\scriptstyle \flat$
38 SnareDrum1D
39 HandClapE$\scriptstyle \flat$
40 SnareDrum2E
41 LowTom2F
42 ClosedHiHatG$\scriptstyle \flat$
43 LowTom1G
44 PedalHiHatA$\scriptstyle \flat$
45 MidTom2A
46 OpenHiHatB$\scriptstyle \flat$
47 MidTom1B
48 HighTom2C
49 CrashCymbal1D$\scriptstyle \flat$
50 HighTom1D
51 RideCymbal1E$\scriptstyle \flat$
52 ChineseCymbalE
53 RideBellF
54 TambourineG$\scriptstyle \flat$
55 SplashCymbalG
56 CowBellA$\scriptstyle \flat$
57 CrashCymbal2A
58 VibraSlapB$\scriptstyle \flat$
59 RideCymbal2B
60 HighBongoC
61 LowBongoD$\scriptstyle \flat$
62 MuteHighCongaD
63 OpenHighCongaE$\scriptstyle \flat$
64 LowCongaE
65 HighTimbaleF
66 LowTimbaleG$\scriptstyle \flat$
67 HighAgogoG
68 LowAgogoA$\scriptstyle \flat$
69 CabasaA
70 MaracasB$\scriptstyle \flat$
71 ShortHiWhistleB
72 LongLowWhistleC
73 ShortGuiroD$\scriptstyle \flat$
74 LongGuiroD
75 ClavesE$\scriptstyle \flat$
76 HighWoodBlockE
77 LowWoodBlockF
78 MuteCuicaG$\scriptstyle \flat$
79 OpenCuicaG
80 MuteTriangleA$\scriptstyle \flat$
81 OpenTriangleA
82 ShakerB$\scriptstyle \flat$
83 JingleBellB
84 CastanetsC
85 MuteSurdoD$\scriptstyle \flat$
86 OpenSurdoD


DrumKits

When setting a drum voice, you can use the name of a known drum kit. Kits are defined by various manufactures, including Yamaha, Casio and Roland. Following is a list of known kits and their values:

Drum Kits

BRUSH 40
CLASSIC 48
DANCE1 68
DANCE2 69
ELECTRONIC 24
HIPHOP1 64
HIPHOP2 65
JAZZ 32
ORCHESTRA 48
POWER 16
ROCK 16
ROOM 8
SFX 56
STANDARD 0
STANDARD2 1
SYNTH1 25
SYNTH2 30
TECHNO1 66
TECHNO2 67
TR808 25


MIDI Controllers

When specifying a MIDI Controller in a MIDISEQ or MIDIVOICE command you can use the absolute value in (either as a decimal number or in hexadecimal by prefixing the value with a “0x”), or the symbolic name in the following tables. The tables have been extracted from information at http://www.midi.org/about-midi/table3.shtml. Note that all the values in these tables are in hexadecimal notation.

Complete reference for this is not a part of MMA . Please refer to a detailed text on MIDI or the manual for your synthesizer.

Controllers, Alphabetically

AllNotesOff 123
AllSoundsOff 120
AttackTime 73
Balance 8
BalanceLSB 40
Bank 0
BankLSB 32
Breath 2
BreathLSB 34
Brightness 74
Chorus 93
Ctrl102 102
Ctrl103 103
Ctrl104 104
Ctrl105 105
Ctrl106 106
Ctrl107 107
Ctrl108 108
Ctrl109 109
Ctrl110 110
Ctrl111 111
Ctrl112 112
Ctrl113 113
Ctrl114 114
Ctrl115 115
Ctrl116 116
Ctrl117 117
Ctrl118 118
Ctrl119 119
Ctrl14 14
Ctrl15 15
Ctrl20 20
Ctrl21 21
Ctrl22 22
Ctrl23 23
Ctrl24 24
Ctrl25 25
Ctrl26 26
Ctrl27 27
Ctrl28 28
Ctrl29 29
Ctrl3 3
Ctrl30 30
Ctrl31 31
Ctrl35 35
Ctrl41 41
Ctrl46 46
Ctrl47 47
Ctrl52 52
Ctrl53 53
Ctrl54 54
Ctrl55 55
Ctrl56 56
Ctrl57 57
Ctrl58 58
Ctrl59 59
Ctrl60 60
Ctrl61 61
Ctrl62 62
Ctrl63 63
Ctrl79 79
Ctrl85 85
Ctrl86 86
Ctrl87 87
Ctrl88 88
Ctrl89 89
Ctrl9 9
Ctrl90 90
Data 6
DataDec 97
DataInc 96
DataLSB 38
DecayTime 75
Detune 94
Effect1 12
Effect1LSB 44
Effect2 13
Effect2LSB 45
Expression 11
ExpressionLSB 43
Foot 4
FootLSB 36
General1 16
General1LSB 48
General2 17
General2LSB 49
General3 18
General3LSB 50
General4 19
General4LSB 51
General5 80
General6 81
General7 82
General8 83
Hold2 69
Legato 68
LocalCtrl 122
Modulation 1
ModulationLSB 33
NonRegLSB 98
NonRegMSB 99
OmniOff 124
OmniOn 125
Pan 10
PanLSB 42
Phaser 95
PolyOff 126
PolyOn 127
Portamento 65
PortamentoCtrl 84
PortamentoLSB 37
RegParLSB 100
RegParMSB 101
ReleaseTime 72
ResetAll 121
Resonance 71
Reverb 91
SoftPedal 67
Sostenuto 66
Sustain 64
Tremolo 92
Variation 70
VibratoDelay 78
VibratoDepth 77
VibratoRate 76
Volume 7
VolumeLSB 39

Controllers, by Value

0 Bank
1 Modulation
2 Breath
3 Ctrl3
4 Foot
5 Portamento
6 Data
7 Volume
8 Balance
9 Ctrl9
10 Pan
11 Expression
12 Effect1
13 Effect2
14 Ctrl14
15 Ctrl15
16 General1
17 General2
18 General3
19 General4
20 Ctrl20
21 Ctrl21
22 Ctrl22
23 Ctrl23
24 Ctrl24
25 Ctrl25
26 Ctrl26
27 Ctrl27
28 Ctrl28
29 Ctrl29
30 Ctrl30
31 Ctrl31
32 BankLSB
33 ModulationLSB
34 BreathLSB
35 Ctrl35
36 FootLSB
37 PortamentoLSB
38 DataLSB
39 VolumeLSB
40 BalanceLSB
41 Ctrl41
42 PanLSB
43 ExpressionLSB
44 Effect1LSB
45 Effect2LSB
46 Ctrl46
47 Ctrl47
48 General1LSB
49 General2LSB
50 General3LSB
51 General4LSB
52 Ctrl52
53 Ctrl53
54 Ctrl54
55 Ctrl55
56 Ctrl56
57 Ctrl57
58 Ctrl58
59 Ctrl59
60 Ctrl60
61 Ctrl61
62 Ctrl62
63 Ctrl63
64 Sustain
65 Portamento
66 Sostenuto
67 SoftPedal
68 Legato
69 Hold2
70 Variation
71 Resonance
72 ReleaseTime
73 AttackTime
74 Brightness
75 DecayTime
76 VibratoRate
77 VibratoDepth
78 VibratoDelay
79 Ctrl79
80 General5
81 General6
82 General7
83 General8
84 PortamentoCtrl
85 Ctrl85
86 Ctrl86
87 Ctrl87
88 Ctrl88
89 Ctrl89
90 Ctrl90
91 Reverb
92 Tremolo
93 Chorus
94 Detune
95 Phaser
96 DataInc
97 DataDec
98 NonRegLSB
99 NonRegMSB
100 RegParLSB
101 RegParMSB
102 Ctrl102
103 Ctrl103
104 Ctrl104
105 Ctrl105
106 Ctrl106
107 Ctrl107
108 Ctrl108
109 Ctrl109
110 Ctrl110
111 Ctrl111
112 Ctrl112
113 Ctrl113
114 Ctrl114
115 Ctrl115
116 Ctrl116
117 Ctrl117
118 Ctrl118
119 Ctrl119
120 AllSoundsOff
121 ResetAll
122 LocalCtrl
123 AllNotesOff
124 OmniOff
125 OmniOn
126 PolyOff
127 PolyOn



Footnotes

... assumption.A.1
Sometimes a reliable source agrees with us ... in this case Standardized Chord Symbol Notation is quite clear that “dim” is a Diminished 7th and a diminished triad should be notated as “mi ($\scriptstyle \flat$5)”.
... “dim3”.A.2
The author has adopted this notation for its clarity. Many jazz charts use it as well.
... chordA.3
It is possible to create a malformed chord/scale using the DEFCHORD command, details here. MMA doesn't worry about everything!
... bigger.A.4
Values must be in the range -127 to 127. Note that even “small” values can push notes outside of the MIDI range.
... behavior.A.5
Undefined in this case means that MMA assumes you are in the key of C Major.
...slashchordsA.6
It is permissible to use something like v/D, but you really shouldn't.