In previous chapters you were shown how to create a PATTERN which becomes a part of a SEQUENCE. And how to set a musical style by defining a GROOVE.
These predefined GROOVEs are wonderful things. And, yes, entire accompaniment tracks can be created with just some chords and a single GROOVE. But, often a bit of variety in the track is needed.
The RIFF command permits the setting of an alternate pattern for any track for a single bar-this overrides the current SEQUENCE for that track.
The syntax for RIFF is very similar to that of DEFINE, with the exception that no pattern name is used. You might think of RIFF as the setting of an SEQUENCE with an anonymous pattern.
A RIFF is set with the command:
Track Riff Pattern |
where:
Following is a short example using RIFF to change the Chord Pattern:
Groove Rhumba |
In this case there is a Rhumba Groove for the song; however, in bar 4 the melodic pattern is emphasized by chording a quarter-note triplet over beats 3 and 4. In this case the pattern has been defined right in the RIFF command.
The next example shows that RIFF patterns can be defined just like the patterns used in a sequence.
Drum Define Emph8 1 0 128 * 8 |
Here the Emph8 pattern is defined as a series of eighth notes. This is applied for the third and fifth bars. If you compile and play this example you will hear a sporadic hand-clap on bar 3. The Drum-Clap track was previously defined in the Blues GROOVE as random claps on beats 2 and 4--our RIFF changes this to a louder volume with multiple hits.
The special pattern ``z'' can be used to turn off a track for a single bar. This is similar to using a ``z'' in the SEQUENCE directive.
A few things to keep in mind when using RIFFs:
Mset CRiff |
RIFFs can also be used to specify a bar of music in a SOLO or MELODY track. Please see Solo and Melody.
The above examples show how to apply a temporary pattern to a single bar--the bar which follows the RIFF command. But, you can ``stack''7.1 a number of patterns to be processed sequentially. Each successive RIFF command adds a pattern to the stack; these patterns are then ``pulled'' from the stack as successive chord lines are processed.
Recycling an earlier example, lets assume that you want to use a customized pattern for bars 4 and 5 in a mythical song:
Groove Rhumba |
In this example the first Chord Riff will be used in bar 4; the second in bar 5. For an example of this see the sample file egs/riffs.mma.
I often use this feature when creating a SOLO line.