I'm trying to engrave a 4-part vocal piece that has a single line of
lyrics that is associated with one of the voices at a time. I've chosen
to use the Hymn-snippet.ly (see attachment) as the base for this job
though it had 4 stanzas so I did a bit of simple adaptation to make it
more suited to my needs.
The problem I'm facing now is that the "melody" to which the single line
of lyrics is associated begins in the alto voice and then later it moves
into the tenor voice. I've tried inserting the command \set
associatedVoice = #"three" one syllable before the point where the
voice association needs to change to tenor but what happens is simply
that the lyrics stop happening altogether (at that point). My thinking
is that at the point in the lyrics block where the "\set
associatedVoice" construct was used, the voice named "three" hasn't been
seen yet ..... in other words an order-related problem. Unfortunately,
I don't have a good enough understanding of the scoping and ordering
rules underlying Lilypond that I can find a solution.
Any help on this is greatly appreciated! I've attached the \layout
block that I'm using, hoping to clarify the setup in use. Note that
there is nothing fancy happening in the lyrics contained in the variable
"verse". The content of "verse" is something like
verse = \lyricmode { The words are here etc. etc. \set associatedVoice
= #"three" and then the words for the tenor continue here. }
Any guidance or suggestions for fixing the setup so that the voice
association can move between alto (set in the top staff) and tenor (set
in the bottom staff) would be greatly appreciated.
Thanks ...
Steven Butner
\header {
title = "Hymn Template"
subtitle = ""
tagline = ""
poet = ""
composer = ""
}
#(set-global-staff-size 20)
\include "english.ly"
upperOne =
\relative a'{
\time 4/4
\voiceOne
a4 b c d a b c d \break
}
upperTwo =
\relative a'{
\voiceTwo
d,4 e f g d e f g
}
lowerOne =
\relative a {
\time 4/4
\voiceOne
a4 b c d a b c d
}
lowerTwo =
\relative c {
\voiceTwo
d4 e f g d e f g
}
firstverse = \lyricmode {
La la la la la la la la
}
secondverse = \lyricmode {
Do do do do do do do do
}
thirdverse = \lyricmode {
Re re re re re re re re
}
fourthverse = \lyricmode {
}
refrain = \lyricmode { so so so so so
}
\score{
\context StaffGroup<<
\context Staff = "upper"
<<
\clef treble
\context Voice = "one" \upperOne
\context Voice = "two" \upperTwo
>>
\lyricsto "one" \new Lyrics {
\set stanza = "1. "
\firstverse
}
\lyricsto "one" \new Lyrics {
\set stanza = "2. "
\secondverse
}
\lyricsto "one" \new Lyrics {
\set stanza = "3. "
\thirdverse
}
\context Staff = "lower" <<
\clef bass
\context Voice = "one" \lowerOne
\context Voice = "two" \lowerTwo
>>
>>
\layout {
\context{\Lyrics
minimumVerticalExtent = #'(-0.5 . 3)
}
\context{\StaffGroup
\remove "Span_bar_engraver"
}
\context{\Staff
minimumVerticalExtent = #'(-3 . 3)
autoBeaming = ##t
\unset melismaBusyProperties
}
\context{\Score
barNumberVisibility = #all-invisible
}
}
\midi { }
}
\paper {
linewidth = 6\in
indent = 0
pagenumber = "no"
}
\score{
\context StaffGroup<<
\context Staff = "upper"
<<
\clef treble
\context Voice = "one" \upperOne
\context Voice = "two" \upperTwo
>>
\lyricsto "two" \new Lyrics {
%% \set stanza = "1. "
\verse
}
\context Staff = "lower" <<
\clef bass
\context Voice = "one" \lowerOne
\context Voice = "two" \lowerTwo
>>
>>
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user