How about something like:

\version "2.16.0"
{
  <<
    \new Staff = "Song"
    <<
      \new Voice = "Soprano" { s1 | \voiceOne  a'4 b'4 c''4 d''4 | \oneVoice  
s1 }
      \new Lyrics \with { alignAboveContext = Song } \lyricsto "Soprano" {  A 
-- bove the stave }
      \new Voice = "Alto" {  a'4 b'4 c''4 d''4  | \voiceTwo  c'4 d'4 e'4 f'4  | 
\oneVoice  a'4 b'4 c''4 d''4 }
      \new Lyrics \lyricsto "Alto" { U -- ni -- son words Be -- low the stave U 
-- ni -- son words }
    >> % Staff end
  >>  % Group end
}

--
Phil Holmes


  ----- Original Message ----- 
  From: Avi Drissman 
  To: lilypond-user@gnu.org 
  Sent: Sunday, April 14, 2013 9:46 AM
  Subject: Lyrics both above and below the staff with splits?


  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


------------------------------------------------------------------------------


  _______________________________________________
  lilypond-user mailing list
  lilypond-user@gnu.org
  https://lists.gnu.org/mailman/listinfo/lilypond-user

<<attachment: LyricArrangement.png>>

_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to