Saturday, April 16, 2005

Chord Notation - From the Beginning

Lilypond generates the names for the basic chords correctly most of the time.

basic

Here's a picture of the four basic triads, major, minor, diminished and augmented. They can all be indicated in a variety of ways.

Major chords are usually denoted simply by the root note, e.g. a C major triad is simply named 'C'. Alternative notations are 'Cmaj' and 'CM'.

Other chords require something to qualify them from major chords. A C minor triad will be named 'Cm', 'Cmin' or 'C-'. A C diminished triad will be named Cdim, Co or C-. A C augmented triad will be named Caug, C+ or C+5.

Lilypond's defaults are to denote the major triad by its root alone, and the minor triad by adding a lower case 'm'. These conventions are now almost universal. The use of a minus sign for either 'minor' or 'diminished' has been so inconsistent that I think it best avoided altogether.

Lilypond names the diminished chord 'Co' and the augmented chord 'C+'; some people will prefer 'Cdim' and 'Caug'. There's an argument for preferring the part-words over the symbols - clarity. If you see 'Cdim', there's not question that a diminished chord is indicated. 'Co', on the other hand, is understood by some as indicating a diminished triad, others a diminished 7th.

The '+' sign is commonly used to indicate the augmented chord, but in Lilypond's chord syntax, the + is used to indicate a note (not necessarily the 5th) should be raised. I think this may cause confusion for users new to Lilypond. The use of '+5' to indicate an augmented triad only adds to the confusion.

On the other hand, the use of the 'o' and '+' helps to keep chord name compact, which is often desirable when there are several rapid chord changes in a piece and/or the performer needs to be able to quickly identify the chord he should be playing/improvising on.

Sevenths


Beyond the basic triads, the first extensions to consider are sevenths.


sevenths

The "normal" 7th is the harmonic seventh (also known as the dominant seventh), which is a minor 3rd above the dominant (or 1 tone below the octave, if you prefer). This applies to both major and minor chords. The names Lilypond uses are shown on the first and third chords in the picture above.

The "major" 7th (also called the diatonic seventh) is a semitone higher than the "normal" 7th, and thus a major third above the dominant. (A major third is an interval of two tones, which is what "diatonic" means.) The diatonic seventh can also be added to both major and minor triads.

When added to a major triad, the name is variously written as Cmaj7, CMaj7, C with a triangle and 7, and C with just a triangle.

When added to a minor triad, the name is written as Cm(maj7), CmMaj7, CmM7, Cm+7 (a particularly confused notation), Cm with a triangle and 7, and Cm with just a triangle. (And I think I once even saw Cm(#7) in a magazine.)

The triangle is a very compact way of flagging the presence of the major 7th. It's also unambiguous, in that it clearly indicates the presence of the diatonic seventh. Its shortcoming is that it's not something that you can just type on a keyboard (which is important to some people), and there is the question about whether or not it can appear alone or should have a '7' appear after it.

The diminished seventh will appear as either Cdim7 or Co7 or C-7. I've already deprecated the use of the minus sign, so it comes back to the question of whether the part-word or the circle symbol is preferable.

Maybe there is a case for having two schemes - one whether the part-words are the preferred option, and a more terse scheme using the +, o and triangle symbols.

Wednesday, April 13, 2005

A muddy spot in the Lilypond

I love Lilypond. I think it's the best music engraving program I've seen. Finale, Sibelius - they don't compare. If you are serious about the quality of your scored music, you need Lilypond.

Having said that, there's one part of Lilypond that I'm not so enamoured with. The chords mode. Compared to the rest of the program, it needs significant work. (But it is just my opinion - feel free to disagree!)

Here's a picture to illustrate some of the things I have issues with.

chords

What is shown here is a series of chords, underneath them what was typed into Lilypond to produce the chords, and above them what Lilypond produces as the names of the chords.

The first line of chords concerns the 'sus' modifier. This modifier does do what it is supposed to - it removes the third. But for some reason, the name of the chord does not include the 'sus' part unless the 2nd or 4th is part of the chord. The third chord along illustrates how Lilypond cuts out the 5th when the 4th is specified before the 'sus' modifier, but the resulting name is weird.

The first two chords of the second line show two different ways of entering a "half-diminished" chord; the first way seems the more logical, as the chord is more properly a minor 7th with a lowered 5th. (Some people I worked with prefer to see 'Cm7b5' instead of the slashed circle.)

The next two chords show that there is no difference in entering 'maj7' and just 'maj' - both result in the triangle. Some prefer to see a 7 after the triangle, but the triangle by itself is uambiguous. What bothers me is what happens with the major 9th (last chord of the second row) - why is there a slash? (I always understood slash notation to be a indication of the bass note to be played under the chord.)

The third line shows two different ways to enter a minor with the major 7th. The first way is the logical way (you enter the minor and add the raised 7th), but as before, you don't get the 7 after the triangle. Again, some will prefer to see something like 'Cm(maj7)'.

The last row shows an inconsistency in the naming of the chords. C9 and C11 appear as described in Lilypond's documentation. C13 omits the 11ths but includes the 9th - when I ask other musicians what they think makes up a 13th, I get various answers. The 11th is almost always left out, but the 9th is often left out as well, and sometimes so is the 7th. (Isn't that a 'C add 13'?)

The name of the c:13 chord comes out as C9/add13 (why?), but if you add the 11th, as in the last chord, that chord gets named C13 - what the...??

Now, I know all too well that it's just not possible to get a set of naming conventions for chords that is going to satisfy everyone. But I think it ought to be possible to develop a set of naming conventions that could be adapted into Lilypond that would be reasonably consistent in itself, having a better correspondence between what gets entered and what chord names appear on the output (e.g. the chord entered as 'c:13' has the name 'C13' on the output), and which is sufficiently succinct for ease of reading as you play (e.g. 'Csus13' rather than 'C7 add9,13 no 3rd').