next up previous
Next: Grooves Up: Reference Manaul Previous: Patterns

Subsections


Sequences

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 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: Simple Sequence


SeqClear
SeqSize 2
Begin Drum
    Sequence Snare4
    Tone Snaredrum1
End
Begin Drum-1
    Sequence Bass1 Bass2
    Tone KickDrum2
End
Chord Sequence Broken8
Bass Sequence Broken8
Arpeggio Sequence { 1 1 100 * 8 } { 1 1 80 * 4 }


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
Bass Sequence Bass1 / 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
Walk Sequence z / / Walk4-4

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:


SeqClear

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.

SeqRnd

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
or
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
Bass B1 B2 B3 z
Walk z / / W1

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
Invert 0 1 2 3 SeqRnd

Whenever pattern ``C1'' is selected it will be used with inversion 0, ``C2'' will always be inversion 1, etc.

SeqNoRnd

This command sets the sequence order for the specified track to normal. It undoes the effect of the SeqRnd directive. Example:

Drum-3 SeqNoRnd

SeqSize

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.



Footnotes

... run-time.5.1
If you run MMA with the ``-s'' option you'll see pattern names in the format ``_1''. The leading underscore indicates that the pattern was dynamically created in the sequence.
...5.2
It is probably easier to use the command:
Chord-Piano Sequence -
if that is what you want to do. In this case only sequence pattern is cleared.

next up previous
Next: Grooves Up: Reference Manaul Previous: Patterns
2004-09-21