2013/4/14 Avi Drissman <a...@drissman.com>: > I'm trying to type up a vocal piece. At several places, the part splits > (with completely different notes, rhythms, and lyrics), and returns to > unison. During the splits, I'd like the lyrics to go above the staff for the > high part, and below the staff for the low part. > > At first, I split using: > > << { ..notes.. } \\ { ..notes.. } >> > > When you do that, though, you get no lyrics. Bummer. So I started explicitly > specifying the second voice: > > ..notes.. << { \voiceOne ..high notes.. } > \new Voice { \voiceTwo ..low notes.. } >> \oneVoice ..notes.. > > Better, as you get your lyrics, but not ideal: the lyrics are attached to > high notes and are printed below the staff. > > Next attempt: explicitly name the voice. I went a little unorthodox here, > making the upper voice the new voice and making the lower voice continue the > original: > > << \new Voice = "altoone" { \voiceOne ..notes.. } > { \voiceTwo ..notes.. } >> \oneVoice > > and added on the lyrics to that part: > > \new Staff = "alto" << > \new Voice = "alto" << > \global > \altonotes > >> > \lyricsto "alto" \new Lyrics \altowords > \lyricsto "altoone" \new Lyrics \with { alignAboveContext = alto } > \altoonewords > \set Staff.instrumentName = A > >> > > which worked well. Awesome! But doing it a second time didn't get me lyrics > on the second split: > > ..notes.. > << \new Voice = "altoone" { \voiceOne ..notes.. } > { \voiceTwo ..notes.. } >> \oneVoice > ..notes.. > << \new Voice = "altoone" { \voiceOne ..notes.. } > { \voiceTwo ..notes.. } >> \oneVoice > ..notes.. > > The first instance of "altoone" was decorated with lyrics, but the second > instance didn't get any. So I thought that perhaps I needed to name the > voices differently: > > ..notes.. > << \new Voice = "altoonei" { \voiceOne ..notes.. } > { \voiceTwo ..notes.. } >> \oneVoice > ..notes.. > << \new Voice = "altooneii" { \voiceOne ..notes.. } > { \voiceTwo ..notes.. } >> \oneVoice > ..notes.. > > \new Staff = "alto" << > \new Voice = "alto" << > \global > \altonotes > >> > \lyricsto "alto" \new Lyrics \altowords > \lyricsto "altoonei" \new Lyrics \with { alignAboveContext = alto } > \altooneiwords > \lyricsto "altooneii" \new Lyrics \with { alignAboveContext = alto } > \altooneiiwords > \set Staff.instrumentName = A > >> > > But that doesn't work, as "altoonei" and "altooneii" are positioned at > different heights. I want one consistent position for all of the lyrics > above the staff. > > I'm stuck at this point, and am out of ideas. Any suggestions? > > Thanks, > > Avi
Hi Avi, _please_ post a _compilable_ example!! I tend to ignore posts without compilable code. Or I have to make a guess: \version "2.16.2" mI = \relative c' { \repeat unfold 8 c'4 } mII = \relative c' { \repeat unfold 4 d2 } altowords = \lyricmode { \repeat unfold 10 foo } altoonewords = \lyricmode { \repeat unfold 8 bar } altonotes = \relative c' { << \context Voice = "altoonex" { \voiceOne \mI } { \voiceTwo \mII } >> \oneVoice e1 << \context Voice = "altoone" { \voiceOne \mI } { \voiceTwo \mII } >> \oneVoice e1 } \new Staff = "alto" << \new Voice = "alto" << %\global \altonotes >> \lyricsto "alto" \new Lyrics \altowords \new Lyrics = "lyr" \with { alignAboveContext = alto } \lyricsto "altoonex" \altoonewords \context Lyrics = "lyr" \with { alignAboveContext = alto } \lyricsto "altoone" \altoonewords \set Staff.instrumentName = A >> -Harm _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user