Re: Lyrics both above and below the staff with splits?
Avi Drissman: 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.. } ... Avoid that one when working with vocals. Try something like attached file. Note: you have to name your \context Lyrics else they tend to be on the same line you have to make sure you don't create new voices, things like \new Voice { } { } { } { } \\ { } create new voices, so you have to tell lilypond every voice it's name Regards, /Karl Hammar --- Aspö Data Lilla Aspö 148 S-742 94 Östhammar Sweden +46 173 140 57 \version 2.16.1 mA = \context Voice = vA \relative c' { c4 d e f | { \voiceTwo c d e f | } \oneVoice c d e f | { \voiceTwo c d e f | } \oneVoice c d e f | } ma = \context Voice = va \relative a' { \voiceOne s1 | a4 g f e | s1 | a4 g f e | s1 | } lA = \lyricmode { A B C D E F G H I J K A B C D E F G H I } la = \lyricmode { a b c d e f g h } \score { \new ChoirStaff \context Lyrics = la \new Staff \mA \ma \lyricsto va \context Lyrics = la \la \lyricsto vA \context Lyrics = lA \lA \layout {} } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Lyrics both above and below the staff with splits?
2013/4/14 Avi Drissman a...@drissman.com: So that's how you re-use a Lyrics. That works, but is a bit ugly in that you have to create new voices over and over. So I tried re-using a voice using that \context trick How about using separate voices: \version 2.16.1 altonotesUp = \relative c' { s1*3 s2 \voiceOne fis8( a) b4~ | b a( fis d) | fis1 \oneVoice s1*3 \voiceOne d8[^\markup { \italic cresc. poco a poco } e] fis2.~( | fis2 e4.) \oneVoice s4 } altonotesDown = \relative c' { fis2\p e | d cis | d cis | b \voiceTwo fis'2~ | fis4 e( cis8 b a4) | a1 | \oneVoice r4 d\f d4. fis8 | fis1 | r1 | \voiceTwo r1 | r2 cis8 d e \oneVoice e8~ | e4 } altowordsUp = \lyricmode { doo __ doo __ doo __ on Car -- ry on, __ } altowordsDown = \lyricmode { cooled my head and warmed my heart doo __ doo __ on this road to -- night. Nev -- er run, } \score { \new ChoirStaff \new Staff = alto \with { instrumentName = A } \new Voice = altoUp \altonotesUp \new Voice = altoDown \altonotesDown \new Lyrics \with { alignAboveContext = alto } \lyricsto altoUp \altowordsUp \new Lyrics \lyricsto altoDown \altowordsDown \layout {} } Cheers, Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
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
Re: Lyrics both above and below the staff with splits?
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
Re: Lyrics both above and below the staff with splits?
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
Re: Lyrics both above and below the staff with splits?
I'm sorry; I was banging my head against this for so long that I just emailed out of frustration. So that's how you re-use a Lyrics. That works, but is a bit ugly in that you have to create new voices over and over. So I tried re-using a voice using that \context trick: \version 2.16.1 altonotes = \relative c' { fis2\p e | d cis | d cis | b \new Voice = altoone { \voiceOne fis'8( a) b4~ | b a( fis d) | fis1 } { \voiceTwo fis2~ | fis4 e( cis8 b a4) | a1 } \oneVoice r4 d\f d4. fis8 | fis1 | r1 | \context Voice = altoone { \voiceOne d8[^\markup { \italic cresc. poco a poco } e] fis2.~( | fis2 e4.) } { \voiceTwo r1 | r2 cis8 d e } \oneVoice e8~ | e4 } altowords = \lyricmode { cooled my head and warmed my heart doo __ doo __ on this road to -- night. Nev -- er run, } altoonewords = \lyricmode { doo __ doo __ doo __ on Car -- ry on, __ } \score { \new ChoirStaff \new Staff = alto \new Voice = alto \altonotes \lyricsto alto \new Lyrics \altowords \lyricsto altoone \new Lyrics \with { alignAboveContext = alto } \altoonewords \set Staff.instrumentName = A \layout {} } But the words don't show up the second time. Must I create a new voice each time and put in a new new \lyricsto for each split? Thanks, Avi On Sun, Apr 14, 2013 at 6:11 AM, Thomas Morley thomasmorle...@googlemail.com wrote: 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