Re: Lyrics both above and below the staff with splits?

2013-04-15 Thread Karl Hammar
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-04-15 Thread Thomas Morley
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?

2013-04-14 Thread 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.. } 

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-04-14 Thread Thomas Morley
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?

2013-04-14 Thread Phil Holmes
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?

2013-04-14 Thread Avi Drissman
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