Ok, I realize this isn't really a MWE, but I needed a more real example of
some of the issues I ran into. So, here we go. You'll find some of my
favorite preferences for Lyrics in the extra global overrides. And, yes, I
realize they are part of the problem, but even without them, the problems
are still there. The main problematic measures are 5, 7, and 9/10. My
tweaks are good bandaids, but not ideal, nor perfect, but they get the job
done.
Let me know what you think.
Best,
Abraham
%<----------------------------------
\version "2.23"
\language "english"
struct = {
\numericTimeSignature
\key bf \major
\time 3/4
s2.*5 \break
s2.*5 \break
}
nb = \markup { \small \italic "n.b." }
melody = \relative {
\clef treble
\dynamicUp
R2.*4 |
d'8\mp ef f4. d8 |
d4 \once \phrasingSlurDashed c2_\(^\nb |
d8\) ef f4 bf, |
c2. |
d8\< ef f4. f8 |
g8 a bf2\mf |
}
pianoRH = \relative {
\clef treble
d''8 ef f4 <f,c'>8 f' |
<< { g8 a bf2 } \\ { <bf, d>2. } >> |
<< { ef4 c8 d ef bf } \\ { g2 g4 } >> |
<< { d'4. ef8 c4 } \\ { <ef, gf>2. } >> |
<c' f>4 <f, d'>2 |
<< { d'4 c } \\ { <ef, gf>2 } >> ef'8 c' |
<d, bf'>4 <bf f'>2 |
<gf d'>4 c ef8 c' |
<d, bf'>4 f c8 f, |
<< { d'2. } \\ { bf8 a g2 } >> |
}
pianoLH = \relative {
\clef treble
bf8 f' ~ f4 a, |
g8 d' bf' a g d |
\clef bass
c,8 g' ef'2 |
ef,8 bf' c2 |
bf,8 f' bf4 d |
ef,8 gf bf c ef4 |
bf,8 f' d'4 f |
ef,8 c' ef gf ~ gf4 |
bf,,8 f' d'4 a |
g8 d' bf a g d |
}
melodyWordsDefault = \lyricmode {
Would I know my Sav -- ior Wrapped in swad -- dling bands,
Ly -- ing in a man -- ger bed, Light of hea -- ven ’round His head?
}
melodyWordsTweaked = \lyricmode {
\once \override LyricText.self-alignment-X = #0.3
Would
\once \override LyricText.self-alignment-X = #1
I
\once \override LyricText.self-alignment-X = #-0.3
know my Sav -- ior
\once \override LyricText.self-alignment-X = #0.3
wrapped
\once \override LyricText.self-alignment-X = #-2.5
in
\once \override LyricText.self-alignment-X = #-0.5
swad --
\once \override LyricText.self-alignment-X = #-0.5
dling bands,
Ly -- ing in
\once \override LyricText.self-alignment-X = #-5
a
\once \override LyricText.self-alignment-X = #0.7
man --
\once \override LyricText.self-alignment-X = #-0.3
ger
\once \override LyricText.self-alignment-X = #-1
bed,
}
#(set-global-staff-size 19)
\paper {
ragged-last = ##f
ragged-bottom = ##t
ragged-right = ##f
ragged-last-bottom = ##t
tagline = ##f
}
\layout {
\context {
\Lyrics
\override LyricText.font-size = #0
\override LyricHyphen.font-size = #-0.5
\override LyricHyphen.padding = #0.15
\override LyricHyphen.length = #0.6 %#0.4
\override LyricHyphen.minimum-length = #0.66
\override LyricHyphen.minimum-distance = #1 %0.15
\override LyricHyphen.thickness = 2.0
\override LyricHyphen.dash-period = 8.0
\override LyricExtender.minimum-length = #0
\override LyricExtender.right-padding = #0.5
\override LyricSpace.minimum-distance = #1
\override VerticalAxisGroup.nonstaff-relatedstaff-spacing.padding = #1
}
}
\score {
\header {
piece = "Tricky lyrics BEFORE adjustments"
}
<<
\new Staff <<
\struct
\new Voice = "melody" \melody
>>
\new Lyrics \lyricsto melody \melodyWordsDefault
\new PianoStaff <<
\new Staff = "pianoRH" <<
\struct
\pianoRH
>>
\new Staff = "pianoLH" <<
\struct
\pianoLH
>>
>>
>>
\layout {}
}
\score {
\header {
piece = "Tricky lyrics AFTER adjustments"
}
<<
\new Staff <<
\struct
\new Voice = "melody" \melody
>>
\new Lyrics \lyricsto melody \melodyWordsTweaked
\new PianoStaff <<
\new Staff = "pianoRH" <<
\struct
\pianoRH
>>
\new Staff = "pianoLH" <<
\struct
\pianoLH
>>
>>
>>
\layout {}
}
%<----------------------------
On Tue, Nov 15, 2022 at 8:19 AM Abraham Lee <[email protected]>
wrote:
> This looks awesome, Jean! Thanks so much for this great start! And thanks
> to everyone else who has chimes in on this. We may get to a great solution
> yet!
>
> In my recent score, again, a single vocal staff with two piano staves
> below, I had instances where there were 2, 3, and 4-syllable clusters where
> I had to adjust almost all the syllables’ positions, sometimes on just one
> end, mostly on both ends, sometimes in the middle as well. I apologize that
> I haven’t had a chance to test your fix out yet (work is a bit too busy at
> the moment), but how well would you say it handles those kinds of groups?
>
> I’ll post some more specific examples later demonstrating the issues
> before my manual tweaks versus after (not that they’re perfect).
>
> Best,
> Abraham
>
> On Mon, Nov 14, 2022 at 11:40 AM Kieren MacMillan <
> [email protected]> wrote:
>
>> Hi Jean,
>>
>> > This just removes the lyric syllable's presence in horizontal
>> > spacing, then adjusts its placement if it collides with its
>> > right neighbor. It works in this case because there is nothing
>> > on the left that the lyric syllable in question could collide
>> > with. (It also does not handle collisions with other things
>> > than the next lyric syllable.)
>>
>> Well, between the two hacks you just hacked, a huge percentage of my
>> note-spacing tweaking effort has just been saved, so I thank you immensely!
>>
>> Can't wait to unleash these on my scores and get back you/list with some
>> real-world data. (I know one of the things I’ll run into almost immediately
>> is that I will need the *LAST* syllable to be shifted to the *RIGHT*, but
>> I’m going to take on that “upgrade” as a Scheme-ing challenge!)
>>
>> Gratefully,
>> Kieren.
>
>