next up previous
Next: Chord Voicing Up: Reference Manaul Previous: Musical Data Format

Subsections


Solo and Melody Tracks

So far we have discussed the creation of accompaniment tracks using drum and chord patterns. However, there are times when chording (and chord variations such as arpeggios) are not sufficient. Sometimes you might want a real melody line!

MMA has two internal track types reserved for melodic lines. They are the Solo and Melody tracks. These two track types are identical with two major exceptions:

These differences mean that you can set parameters for a Solo track in a preamble in your music file and have those settings valid for the entire song. For example, you may want to set an instrument at the top of a song:

Solo Voice TenorSax

On the other hand, Melody tracks save and restore grooves just like all the other available tracks. If we have the following sequence in a song file:

Melody Voice TenorSax
Groove Blues
... musical data

we should not be surprised to find that the Melody track playing with the default voice (Piano).

As a general rule, we have designed Melody tracks as a ``voice'' to accompany a predefined form defined in a Groove--it is a good idea to define Melody paramaters as part of a Groove. Solo tracks are thought to be specific to a certain song file, with their parameters defined in the song file.

Apart from the exceptions noted above, Solo and Melody tracks are identical.

Unlike the other available tracks, you do not define a sequence or pattern for a Solo or Melody track. Instead, you specify a series of notes as a Riff pattern. For example, consider the first two bars of ``Bill Bailey'' (the details of melody notation will be covered later in this chapter):

Solo Riff 4c;2d;4f;
F
Solo Riff 4.a;8g#;4a;4c+;
F

In this example we have added the melody to our song file.

Specifying a Riff for each bar of your song can get tedious, so there is a shortcut ...any data surrounded by curly brackets ``{ }'' is interpeted as a Riff for a Solo or Melody track. This means that the above example could be rewritten as:

F {4c;2d;4f;}
F {4.a;8g#;4a;4c+;}

By default the note data is inserted into the Solo track. If more than one set of note data is present, it will be inserted into the next track set by the AutoSoloTracks command ([*]).

Note Data Format

The notes is a Solo or Melody track are specified as a series of ``chords''. Each chord can be a single note, or several notes (all with the same duration). Each chord in the bar is delimited with a single semicolon.

Each chord can have several parts. All missing parts will default to the value in the previous chord. The various parts of a chord must be specified in the order given in the following table.

Duration
The duration of the note. This is specified in the same manner as chord patterns. The following note values are permitted:

Notation Description
1 Whole note
2 Half
4 Quarter
8 Eighth
16 Sixteenth
32 Thirtysecond
64 Sixtyfourth
3 One note of an eight note triplet
0 A single MIDI tick

A duration can be modified by appending a single ``.'' which adds half the value to the note. For example, ``2.'' would be three beats.

A duration can be modified by appending a two ``.''s which add three quarters of the value to the note. For example, ``2..'' would be three and one half beats.

Note lengths can be combined using ``+''. For example, to make a dotted eight note use the notation ``8+16'', a dotted half ``2+4'', and a quarter triplet ``3+3''.

It is permissible to combine notes with ``dots'' and ``+''s. The notation ``2.+4'' would be the same as a whole note.

Pitch
The note in standard musical notation. The lowercase letters ``a'' to ``g'' are recognized as well as ``r'' to specify a rest (please note the exception for Drum Solo Tracks, [*]).

Accidental
A pitch modifier consisting of a single ``#'' (sharp), ``&'' (flat) or ``n'' (natural). Please note that an accidental will override the current Keysig for the current bar (just like in real musical notation). Unlike standard musical notation the accidental will apply to similarly named notes in different octaves.

To avoid confusion between a flat sign and a ``b'' we have changed the flat notation to an ``&'' character.

Octave
Without an octave modifier, the current octave specified by the Octave directive is used for the pitch(es). Any number of ``-'' or ``+'' signs can be appended to a note. Each ``-'' drops the note by an octave and each ``+'' will increase it. The base octave begins with ``c'' below the treble clef staff.

Volume
A volume can be specified. The volume is a string like ``ff'' surrounded by ``$< >$'' brackets. For example, to set the volume of a chord to ``very loud'', you could use the string $<$ffff$>$ in the chord specification ([*]) Of course, it is probably easier to set accented beats with the Accent directive ([*]).

To make your note data more readable, you can include any number of space and tab characters (which are ignored by MMA).

Example 9.1: Solo Notation


\includegraphics[width=.9\textwidth]{mupex/soloeg.ps}



KeySig 1b
F { 4ca-; 2da-; 4fd; }
F { 4.af; 8g#f; 4af; c+f; }
F { 4ca-; 2da-; 4fc; }
F { 1af; }



Example 9.1 shows a few bars of ``Bill Bailey'' with the MMA equivalent.

A few notes on duration:

The use of default values can be a great timesaver, and lead to confusion! For example, the following all generate four quarter note ``f''s:

Solo Riff 4f; 4f; 4f; 4f;
Solo Riff 4f; f; f; f;
Solo Riff 4f; 4; 4; 4;
Solo Riff 4f; ; ; ;

Most of the timing and volume commands available in other tracks also apply to Solo and Melody tracks. Important commands to consider include Articulate, Voice and Octave. Also note that Transpose is applied to your note data.


KeySig

If you are including Solo or Melody tracks you should set the key signature for the song:

KeySig 2b

The argument consists of a single digit ``0'' to ``7'' followed by a ``b'' or ``&'' for flats keys or a ``#'' for sharp keys.

Setting the key signature effects the notes used in Solo or Melody tracks and sets a MIDI Key Signature event.


AutoSoloTracks

When a ``{ }'' expression is found in a chord line, it is assumed to be note data and is treated as a Riff. You can have any number of ``{ }'' expressions in a chord line. They will be assigned to the tracks specified in the AutoSoloTracks directive.

By default, four tracks are assigned: Solo, Solo-1, Solo-2, and Solo-3. This order can be changed:

AutoSoloTracks Melody-Oboe Melody-Trumpet Melody-Horn

Any number of tracks can be specified in this command, but they must all be Solo or Melody tracks. You can reissue this command at any time to change the assignments.


Drum Solo Tracks

A solo or melody track can also be used to create drum solos. The first thing to do is to set a track as a drum solo type:

Solo-MyDrums DrumType

This will create a new Solo track with the name Solo-MyDrums and set its ``Drum'' flag. If the track already exists and has data in it, the command will fail. The MIDI channel 10 is automatically assigned to all tracks created in this manner. You cannot change a ``drum'' track back to a normal track.

These is no limit to the number of Solo or Melody tracks you can create ...and it probably makes sense to have several different tracks if you are creating anything beyond a simple drum pattern.

Tracks with the ``drum'' setting ignore Transpose and Harmony settings.

The specification for pitches is different in these tracks. Instead of standard notation pitches, you must specify a series of drum tone names or MIDI values. If you want more than one tone to be sounded simultaneously, create a list of tones separated by commas.

Some examples:

Solo-MyDrums Riff 4 SnareDrum1; ; r ; SnareDrum1;

would create a snare hit on beats 1, 2 and 4 of a bar. Note how the second hit uses the default tone set in the first beat.

Solo-MyDrums Riff 8,38;;;;

creates 4 hits, starting on beat 1. Instead of ``names'' we have used MIDI values (in this case, 38 and ``SnareDrum1'' are identical. Note how we use a ``,'' to separate the initial length from the first tone.

Solo-MyDrums Riff 4 SnareDrum1,53,81; r; 4 SideKick ;

creates a ``chord'' of 3 tones on beat 1, a rest on beat 2, and a ``SideKick'' on beat 3.

Using MIDI values instead of names lets you use the full range of note values from 0 to 127. Not all will produce valid tones on all synths.

Mallet

Some instruments (Steel-drums, banjos, marimbas, etc.) are normally played with rapidly repeating notes. Instead of painfully inserting long lists of these notes, you can use the Mallet directive for a Solo or Melody track. The Mallet directive accepts a number of options, each a OPTION=VALUE pair. For example:

Solo-Marimba Mallet Rate=16 Decay=-5

The following options are supported:

Rate

The Rate must be a valid note length (ie. 8, 16, or even 16.+8).

For example:

Solo-Marimba Mallet Rate=16

will set all the notes in the ``Solo-Marimba'' track to be sounded a series of 16th notes.

To disable this setting use a value of ``0''.

Decay

You can adjust the volume (velocity) of the notes being repeated when Mallet is enabled:

Solo-Mallet Mallet Decay=-15

The argument is a percentage of the current value to add to the note each time it is struck. In this example, assuming that the note length calls for 4 ``strikes'' and the initial velocity is 100, the note will be struck with a velocity of 100, 85, 73 and 63.

Important: a positive value will cause the notes to get louder, negative values cause the notes to get softer.

Note velocities will never go below 1 or above 255.

The decay option value must be in the range -20 to 20. The default value is 0 (no decay).


next up previous
Next: Chord Voicing Up: Reference Manaul Previous: Musical Data Format
2004-09-21