lilypond-user
[Top][All Lists]
Advanced

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

Re: Type setting chord analysis


From: Valentin Villenave
Subject: Re: Type setting chord analysis
Date: Fri, 22 Oct 2010 12:41:47 +0200

On Fri, Oct 22, 2010 at 9:16 AM, Aura Kelloniemi
<address@hidden> wrote:
> Salutations, Masters of Lilypond!

Greetings,

> I have a problem: I'm trying to find an easy way to write chord analysis
> annotations in Lilypond. The rationale behind this is that I'm a blind
> music student and I do all my music theory work with Lilypond so that my
> teacher's can easily examine my work. My assistant writes chord analysis
> excersises for me in Lilypond, and I add the analysis annotations to the
> source text, process it with Lilypond and print it for the teacher.

That's a very interesting story. It's always nice to see how LilyPond
can be useful in the "real" world!

> My problem is that I haven't found a practical way of writing these
> annotations. We use Roman number notation in our theory classes. Roman
> numbers are written below the staves under the corresponding chord and
> all
> nonchord tones should be circled and the nonchord tone type should be
> indicated by an abbreviation next to the corresponding notes.

Here is how to circle a note :

circle =
\once \override NoteHead #'stencil = #(lambda (grob)
     (let* ((note (ly:note-head::print grob))
            (combo-stencil (ly:stencil-add
                note
                (circle-stencil note 0.1 0.8))))
           (ly:make-stencil (ly:stencil-expr combo-stencil)
             (ly:stencil-extent note X)
             (ly:stencil-extent note Y))))

{ \circle c' }

> I found a Lilypond package for writing Rom number notation and it will
> likely prove to be useful. I also found pointers that suggested to use a
> lyrics staff for the analysis annotations. This, however, forces me to write
> the annotations separately from the chord notes themselves (since
> parallelMusic can only hold notes, not lyrics, IIUC), which makes
> it very hard to do the exercises in a convenient manner. So I'm asking,
> if anyone has an idea on how to write the analysis annotations in parallel
> with the music that is to be analysed. I also have no idea on how to circle a
> note.

I'm not sure whether your annotations should refer to one particular
voice or to the whole harmony.

If you want to make some specific notes different, you could use
various note-shapes: read
http://lilypond.org/doc/v2.13/Documentation/notation/note-heads#special-note-heads

If you want to indicate roman numbers or whatever, Lyrics can indeed
help you: all you have to do is create a new Lyrics context at the
bottom of your score, and add roman numbers with durations (just like
you would do with notes).

Another LilyPond feature that could greatly help you is the
FiguredBass context: read
http://lilypond.org/doc/v2.13/Documentation/notation/figured-bass

Here is your score with some analysis annotations.

\score {
 \new PianoStaff <<
   \new Staff {
     \key a \minor
     \time 4/4
     \clef treble
     << \soprano \\ \alto \\ \tenor >>
   }
   \figures { s4 <6> <6 4> <7 "+"> <3+>1 }
   \new Staff {
     \key a \minor
     \time 4/4
     \clef bass
     \bass
   }
   \lyrics { I4 IV V2 I1 }
 >>
}

Here's what it looks like:
between the two staves, arab numbers are displayed : for example "6"
where there is a sixth chord, etc.
below the staves, roman numbers are printed: "I", "IV" etc. The "V"
lasts two beats, and the final "I" lasts a whole measure.

> As I'm blind, I don't knwo if this produces readable notation, but at
> least the MIDI version is as it should be.

Your output is fine! Just one minor comment: it may be more easy to
read if you put only two voices on each Staff:
<< \soprano \\ \alto >>
and
<< \tenor \\ \bass >>
(but then, I don't know what your teacher prefers, so it may very well
be a matter of taste).

Good luck!
Valentin.



reply via email to

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