Annotating chord voices in Lilypond

28 Views Asked by At

Is it possible to achieve something like this in Lilypond? I've been wondering for years, but now I'm trying to do some work that makes this more pressing.

chord examples from Schillinger

Thank you so much!

I've tried various standard text methods, and searched the documentation and elsewhere.

1

There are 1 best solutions below

0
Dot Rose On BEST ANSWER

Balloon Text is the way to go in Lilypond!

This is how I ended up doing it:

\new Staff \with {
    \consists Balloon_engraver
    \override BalloonText.annotation-balloon = ##f
    \override BalloonText.annotation-line = ##f
    \override Clef.space-alist.first-note = #'(minimum-fixed-space . 10.0)
}
{
    \relative c' {
        \balloonLengthOn
        \override Score.SpacingSpanner.spacing-increment = #3
        \override BalloonText.layer = #-2
        \override Staff.StaffSymbol.layer = #-3
        \override BalloonText.whiteout = ##t
        <
        e-\balloonText #'(0.1 . 0) \markup{"3"}
        -\balloonText #'(-1.5 . 0) \markup{"b"}
        g-\balloonText #'(1.3 . 0) \markup{"5"}
        -\balloonText #'(-0.5 . 0) \markup{"c"}
        c-\balloonText #'(0.1 . 0) \markup{"1"}
        -\balloonText #'(-1.5 . 0) \markup{"a"}
        >2
        <
        g,-\balloonText #'(0.3 . 0) \markup{"5"}
        -\balloonText #'(-0.5 . 0) \markup{"c"}
        e'-\balloonText #'(0.3 . 0) \markup{"3"} 
        -\balloonText #'(-0.5 . 0) \markup{"b"}
        c'-\balloonText #'(0.3 . 0) \markup{"1"} 
        -\balloonText #'(-0.5 . 0) \markup{"a"}
        >
    }
}

and it produced this output