#
Automatic Melodies: Aria Tracks

ARIA tracks are designed to let MMA automatically generate something resembling melody. Honest, this will never put real composers on the unemployment line (well, no more than they are mostly there already).

You might want to use an ARIA to embellish a section of a song (like an introduction or an ending). Or you can have MMA generate a complete melody over the song chords.

In a traditional song the melody depends on two parts: patterns (IE. note lengths, volume, articulation) and pitch (usually determined by the chords in a song). If you have been using MMA at all you will know that that chords are the building block of what MMA does already. So, to generate a melody we just need some kind of pattern. And, since MMA already uses patterns in most things it does, it is a short step to use a specialized pattern to generate a melody.

It might serve to look at the sample song files enclosed in this package in the directory `egs/aria`. Compile and play them. Not too bad?

Just like other track, you can create as many ARIAs as you want. So, you can have the tracks ARIA-1, ARIA, and ARIA-SILLY all at the same time. And, the majority of other commands (like OCTAVE, ARTICULATE, HARMONY, etc.) apply to ARIAs.

The following commands are important to note:

Range
  Just like scale tracks. A RANGE of 2.5 would let MMA work on a two and one-half octave chord, etc.

ScaleType
  Much like a scale track. By default, the setting for this is CHORD. But, you can use AUTO, SCALE, CHORD or CHROMATIC. AUTO and SCALE are identical and force MMA to select notes from the scale associated with the current chord; CHROMATIC generates an 11 tone scale starting at the root note of the chord; CHORD forces the selection to the notes in the current chord.

Direction
  As MMA processes the song it moves a note-selection pointer up or down. By default DIRECTION is set to the single value "1" which tells MMA to add 1 after each note is generated. However, you can set the value to an integer -4 to 4 or the special value "r*". The “r” setting creates a random direction. You can have 1 to 4 “r”s:

  > # of 'r's | Direction Adjust
  > r | -1 to 1
  > rr | -2 to 2
  > rrr | -3 to 3
  > rrrr | -4 to 4

  With "r" a random value -1, 0 or 1 will be used.

  Important: in an ARIA track the sequence size/point is ignored for DIRECTION.

A bit more detail on defining an ARIA:

First, here is a simplified sample track definition:

Begin Aria Voice JazzGuitar Volume f Sequence 1.5 8 90; 2 8 90; 2.5 8 90; 3 8 90; 3.5 8 90; 4 8 90; 4.5 8 90 ScaleType Scale Range 1 Direction 0 0 1 2 -4 0 1 r End

Next assume that we have a few bars of music with only a CMajor chord. The following table shows the notes which would be generated for each event in the set SEQUENCE:

> Event | Direction | Offset Pointer | Note
> 1 | 0 | 0 | c
> 2 | 0 | 0 | c
> 3 | 1 | 1 | d
> 4 | 2 | 3 | f
> 5 | -4 | 6 | b
> 6 | 0 | 6 | b
> 7 | 1 | 0 | c
> 8 | r | ?? | ??

If you were to change the SCALETYPE or RANGE you would get a completely different series. Really, tables like this one are very difficult to determine and quite useless. Just try different DIRECTION and RANGE settings, SCALETYPEs, etc. Most combinations will sound fine, but Chromatic scales might not be to your liking.

Please note the following:

- ARIAs are not saved or modified by GROOVE commands. Well, almost ... the sequence size will be adjusted to match the new size from the groove. This might be unexpected:

  - Load a groove. Let's say it has a SEQSIZE of 4.
  - Create an ARIA. Use 4 patterns to match the groove size (if you don't MMA will expand the sequence size for the ARIA, just like other tracks).
  - Process a few bars of music.
  - Load a new groove, but this time with a SEQSIZE of 2. Now, the ARIA will be truncated. This behavior is duplicated in other tracks as well, but it might be unexpected here.

- DIRECTION can not be changed on a bar per bar basis. It applies to the entire sequence. After each note in the ARIA is generated a pointer advances to the next direction in the list.

You can make dramatic changes to your songs with a few simple tricks. Try modifying the DIRECTION settings just slightly; use several patterns and SEQRND to generate less predictable patterns; use HARMONYONLY with a different voice and pattern.

Oh, and have fun!