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 <
[email protected]> wrote:
> 2013/4/14 Avi Drissman <[email protected]>:
> > 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
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user