lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to put chords on a score automatically


From: Rick Hansen (aka RickH)
Subject: Re: How to put chords on a score automatically
Date: Tue, 13 Nov 2007 17:48:48 -0800 (PST)



Mats Bengtsson-4 wrote:
> 
> 
> 
> Rick Hansen (aka RickH) wrote:
>>
>> Such a program could not make the assumption that the root of the chord
>> is
>> always being sung by the bass or any other voice, or being sung at all. 
>> But
>> if the lp syntax allowed "marking" what note is the current chord root at
>> any point in time, then it could generate possible names for the harmony
>> at
>> that point in time.  Otherwise I could see a lot of wrong and weird chord
>> names being generated by an algorithm that is not being told what is the
>> root note.  Also the root of the chord may not always appear in the
>> score,
>> its common to remove the root or the 5th as they are more "expendable"
>> than
>> the 3rd or 7th, because the 3rd and 7th dedermine maj/min or dominant
>> leading tones, often the root is even more expendable than the 5th for
>> deletion.  So what this algorithm would really need is an "invisible
>> staff"
>> that allows you to just name to root notes and duration thereof, this
>> staff
>> is never printed, nor would it participate in midi, etc. it's just there
>> to
>> tell the algorithm what the current root is at that pont in time, then
>> the
>> real notes in the score are used to come up with a suitable chord name.
>>
>> BTW your idea sounds like a very cool idea, as I dont know of any
>> notation
>> program that can also do harmony analysis.  It would be a quick way to
>> generate the names, then go back and correct the "wrong" ones.  Nice.
>>   
> LilyPond already does what you describe, see the example in "Introducing 
> chord names"
> in the manual. The following example shows how to do the same if you
> haven't
> entered the music as chords (i.e. using <...>), but have a separate 
> identifier for
> each "voice".
> 
> \version "2.10.0"
> one = \relative c''{g a g c}
> two = \relative c'{e f d e}
> three = \relative c'{c c b c}
> 
> \score{
> <<
> \new ChordNames << \one \two \three >>
> \new Voice << \one \two \three >>
>  >>
> }
> 
>     /Mats
> 
> 
> 
> _______________________________________________
> lilypond-user mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/lilypond-user
> 
> 


The ambiguity still remains, is the first chord in this example Em6 or C? 
Either could be correct.  The second chord is probably Am6 but it could also
be F or Dm7 (with the root omitted).  On and on, all these are valid names
for the notes in your example.  IOW an algorithm that is not told the
correct root cant make any assumption.  In the key of C the third chord in
the example would obviously be Bm7b5 (the naturally occuring chord of the
leading tone) but it could also be G (the natural chord of the 5th tone). 
Too many mistakes are possible and in most music half the chords would be
wrong, it may work well for nursury rhymes, but not for more complex music.

Now if each note can simply be marked as the root then the algorithm could
work correctly, when the root is being omitted of course that mark would
have to be even more explicit by naming a non-printing note as well.



-- 
View this message in context: 
http://www.nabble.com/How-to-put-chords-on-a-score-automatically-tf4783962.html#a13738521
Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]