mirror of
https://github.com/microtherion/VocalEasel.git
synced 2024-12-22 11:14:00 +00:00
96 lines
4.2 KiB
Plaintext
96 lines
4.2 KiB
Plaintext
|
|
||
|
If you start to transfer music from fake books to MMA you'll find
|
||
|
chords which look like C/E, Dm/C or Am/C. These chords are called
|
||
|
"slash chords".
|
||
|
|
||
|
Unfortunately, the notation used by arrangers and composers who
|
||
|
create fakebooks and lead sheets in not nearly as standardized as one
|
||
|
might like. And, when it comes to slash chords, the standard is far
|
||
|
from firm. So, what to do in MMA?
|
||
|
|
||
|
Let's look at the different ways that slash chords are used, but
|
||
|
first lets revisit the method used by MMA to create a chord. MMA has
|
||
|
a set of tables which represent each type of chord in terms of MIDI
|
||
|
note values. These note values are adjusted for the particular scale.
|
||
|
For example, the "notes" for a Major chord are stored in the table as
|
||
|
(0,4,7). If you specify a F Major chord the notes will be converted
|
||
|
to (5,9,12), which corresponds to F,A,C. In addition, each chord has
|
||
|
a list of notes for a corresponding scale. A Major chord will have
|
||
|
the notes for a Major scale, etc. So, in the previous example, a
|
||
|
scale list (5,7...16) representing the notes F,G,A,Bb,C,D,E is also
|
||
|
created.
|
||
|
|
||
|
So, on to the slash chords ... we'll show different types and what MMA
|
||
|
does and doesn't do.
|
||
|
|
||
|
The easiest case is the simple inversion. In this case the slash note
|
||
|
will be a note in the chord. Examples include Am/C, A/C# and C/E.
|
||
|
MMA handles these by:
|
||
|
|
||
|
- Rotating the chord so that the slash note becomes the root. An
|
||
|
Am/C chord (A,C,E) becomes C,E,A; the C/E chord (C,E,G) becomes E,G,C.
|
||
|
|
||
|
- Rotating the associated scale. In the case of Am/C the scale
|
||
|
A,B,C,D,E,F,G becomes C,D,E,F,G,A,B.
|
||
|
|
||
|
This may OR MAY NOT effect the output, especially if you have enabled
|
||
|
MODE=OPTIMAL which may do chord rotation on its own. In most cases the
|
||
|
bass notes will be effected.
|
||
|
|
||
|
|
||
|
The next case encountered is a slash note which is not in the chord,
|
||
|
but is in the scale. Example of this include C/B and Am/F. A C Major
|
||
|
chord does not have a B note in it (although a B Major 7th chord
|
||
|
does), but the scale associated with the C Major chord C,D,E,F,G,A,B
|
||
|
does. So, MMA leaves the chord alone and rotates the scale to
|
||
|
B,C,D,E,F,G,A. Scale lists are used for bass and scale patterns.
|
||
|
Since scale patterns are mostly circular, the effect on these
|
||
|
patterns is negligible; however, for bass patterns the root note (1)
|
||
|
will be changed from C to F ... which is probably what you want.
|
||
|
However, note that the 5th is also changed from G to F which might
|
||
|
NOT be what you want.
|
||
|
|
||
|
|
||
|
Yet another slash notation is to have the slash note as neither a
|
||
|
scale or chord note. For example, one might want a C chord with the
|
||
|
dominant 7th played ONLY in the bass. The notation for this would be
|
||
|
C/Bb. If you encounter this, just change the chord to C7 and you'll
|
||
|
probably be as close as you're going to get. We've played with
|
||
|
different methods of handling this and haven't come up with anything
|
||
|
satisfactory. We considered the following (all of which ignore the
|
||
|
chord notes):
|
||
|
|
||
|
- Just adding the Bb note to the scale. But, that's quite dumb since
|
||
|
in the case of C/Bb we'd end up with a scale Bb,C,D,E,F,G,A,B. Not
|
||
|
only is this 1 note too long (all scales are 7 notes long!) it has a
|
||
|
B and Bb in it.
|
||
|
|
||
|
- Add the note and drop the extra note. In the above case this gives
|
||
|
us Bb,C,D,E,F,G,A. Perfect! But, what if we have C/Eb? If I saw this
|
||
|
in a chart I'd probably figure that we want a Cm chord with the Eb
|
||
|
played only in the bass. But, really, it could be just about
|
||
|
anything. And, if we followed the add and drop routine we'd have
|
||
|
Eb,C,D,E,F,G,A,B, which leaves that nasty E.
|
||
|
|
||
|
- Find a "close" note, substitute and rotate. Well, not a bad idea.
|
||
|
In the case of C/Bb we could parse the scale and discover that B is
|
||
|
only one MIDI value away from Bb. Okay, lets change the B to a Bb and
|
||
|
rotate. Perfect ... but, the note A is only one value out too. So,
|
||
|
maybe that's the one to modify. If we had the tables listed as note
|
||
|
names instead of MIDI values this might be simpler. But, as it is ...
|
||
|
well, it's just not going to be reliable.
|
||
|
|
||
|
So, in this case MMA just reports a failure, but doesn't barf.
|
||
|
|
||
|
|
||
|
In some charts (not so much new ones, but you never know) you'll see
|
||
|
things like Cm/9 or even Cm/dim. One can only guess at the meanings
|
||
|
... and MMA avoids guessing. So, in these cases it just reports an
|
||
|
error.
|
||
|
|
||
|
|
||
|
|
||
|
bvdp, December/04
|
||
|
|
||
|
|