Patterns by themselves don't do much good. They have to be combined into sequences to be of any use to you or to MMA.
A sequence command sets the pattern(s) used in creating each track in your song:
Track Sequence Pattern1 Pattern2 ... |
``Track'' can be any valid track name: ``Chord'', ``Walk'', ``Walk-Sus'', ``Arpeggio-88'', etc.
All pattern names used when setting a sequence need to be defined when this command is issued; or, or you can use what appears to be a pattern definition right in the sequence command by enclosing the pattern definition in a set of curly brackets ``{ }''.
|
Example 5.1 creates a 2 bar pattern. The Drum, Chord and Bass patterns repeat on every bar; the Drum-1 sequence repeats after 2 bars. Note how the Arpeggio pattern is defined at run-time. 5.1
If there are fewer patterns than SeqSize, the sequence will be filled out to correct size. If the number of patterns used is greater than SeqSize (see Chapter 16) a warning message will be printed and the pattern list will be truncated.
When defining longer sequences, you can use the ``repeat'' symbol, a single ``/'', to save typing. For example, the following two lines are equivalent:
Bass Sequence Bass1 Bass1 Bass2 Bass2 |
The special pattern name ``-'' (no quotes, just a single hyphen), or a single ``z'' can be used to turn a track off. For example, if we have set the sequences in example 5.1 and decide to delete the Bass halfway though the song we could:
Bass Sequence - |
The special sequences, ``-'' or``z'', are also the equivalent of a rest or ``tacet'' sequence. For example, in defining a 4 bar sequence with a 1-5 bass pattern on the first 3 bars and a walking bass on bar 4 we might do something like:
Bass Sequence Bass4-13 / / z |
When a sequence is created a series of pointers to the existing patterns are created. If you change the definition of a particular pattern later in your file the new definition will have no effect on your exisiting sequences.
Sequences are the workhorse of MMA. With them you can set up many interesting patterns and variations. This chapter should certainly give more detail and many more examples.
The following commands help manipulate sequences in your creations:
This command clears all existing sequences from memory. It is useful when defining a new sequence and you want to be sure that no ``leftover'' sequences are active. The command:
SeqClear |
deletes all sequence information.
Alternately, the command:
Drum SeqClear |
deletes all drum sequences. This includes the track ``Drum'', ``Drum1'', etc.
If you use a sub-track:
Chord-Piano SeqClear |
only the sequence for that track is cleared.5.2
In addition to clearing the sequence pattern, the following other settings are restored to a default condition:
CAUTION: It is not possible to clear only Drum, Chord, etc. using this command. Use the ``-'' option.
Normally, the patterns used for each bar are selected in order. For example, if you had a sequence:
Drum-2 Sequence P1 P2 P3 z |
bar 1 would use ``P1'', bar 2 ``P2'', etc. However, if you set SeqRnd for a specific track, the pattern used for that track will be selected at random from the sequence list. Note that 'Z' bars are included in the selection. Due to the nature of random selection, it is quite possible to get a several bars with the same (or in the above case, no) pattern.
You can only use this command in a track or in a global context:
Drum SeqRnd |
SeqRnd |
The latter example is interesting. Let us assume you have the following sequences defined (the contents of the patterns don't matter for the purpose of the example):
Chord C1 C2 C3 C4 |
The idea of the Bass and Walk sequences is to play either one of the patterns, never both. If you were to randomize the tracks you might get a bar with no bass at all, one of the two, or none. However, if you set SeqRnd outside the tracks, then you will have one of the following patterns:
C1 B1 z C2 B2 z C3 B3 z C4 z W1
A SeqRnd is cleared by a SeqClear or a SeqNoRnd directive.
If you have set Invert for a track, the inversions will follow the patterns. For example:
Chord Sequence C1 C2 C3 C4 |
Whenever pattern ``C1'' is selected it will be used with inversion 0, ``C2'' will always be inversion 1, etc.
This command sets the sequence order for the specified track to normal. It undoes the effect of the SeqRnd directive. Example:
Drum-3 SeqNoRnd |
The number of bars in a sequence are set with the ``SeqSize'' command. For example:
SeqSize 4 |
sets it to 4 bars. The SeqSize applies to all tracks.
This command resets the sequence counter to 1.
If some sequences have already been defined, they will be truncated or expanded to the new size. Truncation is done by removing patterns from the end of the sequence; expansion is done by duplicating the sequence until it is long enough.
Chord-Piano Sequence - |