On Mon 26 Aug 2019 at 20:36:53 (+0200), Simon Albrecht wrote:
> Hi Jacques,
> 
> this doesn’t exactly answer your question, but I’ve always found that
> manual alignment of lyrics is a huge pain to get working and thus
> never use it…

The only piece I've used them in was as an exercise in writing code
that would generate a correctly notated score containing repeats, but
would also generate correctly repeating MIDI output from the same code
merely by adding \unfoldRepeats. I started a thread about the problem:
https://lists.gnu.org/archive/html/lilypond-user/2015-09/msg00499.html
but I don't remember how the thread evolved, if at all.

Suffice it to say, I don't make a habit of this, preferring to set the
score and the MIDI separately. Attached is the code I came up with.
To compile it properly, you'd need some library files. "Midi-satb.lily"
is the boilerplate code to produce MIDI "teach tapes" for each part.
The attached score used the unmangled source, with \unfoldRepeats
commented out, and the libraries included of course.

> On 26.08.19 17:39, Jacques Menu wrote:
> > Hello folks,
> > 
> > The more I read this chapter, and the more I feel it is a kind of 
> > imbroglio, mixing automatic and manual alignment of lyrics to the voice.
> > 
> > Do you also feel this would merit a rewrite?

(I'd have to read it in its new incarnation.)

Cheers,
David.
\version "2.18.2"
\language english
%%\include "Choral-bits.lily"
accident = { \accidentalStyle choral-cautionary } % put in voices in Staff
%%\include "Beam-crochets.lily"
%%\include "Number-2-bars.lily"
%%\include "Midi-bits.lily"
%%\include "Letter.lily"
%%\include "Margins-10-15.lily"

heading = "2015-10-02"

\header {
  title = \markup { "Fair Phyllis I saw" }
  subtitle = \markup { " " \vspace #5 }
  composer = \markup { "John Farmer" \italic "(1565–1605)" }
  tagline = \markup {
    \vspace #2
    \smaller
    \fill-line {
      \heading
      "Manhattan, KS"
      \concat { "LilyPond version " $(lilypond-version) }
    }
  }
}

miditempo = { \tempo 2=72 }

%% 15: 2pp rpt, 19: 3pp rpt
%% #(set-global-staff-size 15) pgbrk = { \pageBreak }
#(set-global-staff-size 19) pgbrk = { }

global = {
  \key f \major
  \time 2/2
  s1
  \repeat volta 2 {
    s1
    s1
    s1
    \barNumberCheck #5 | % global
    s1
    s1
  }
  \alternative {
    { s1 }
    { s1 }
  }
  s1
  \barNumberCheck #10 | % global
  s1
  s1
  s1
  s1
  s1
  \barNumberCheck #15 | % global
  s1
  s1
  s1
  s1
  \pgbrk
  \repeat volta 2 {
    s1
    \barNumberCheck #20 | % global
    s1
    s1
    s1
    s1
    s1
    \barNumberCheck #25 | % global
    s1
    s1
    s1
    s1
    s1
    \barNumberCheck #30 | % global
    s1
    s1
    s1
    \time 3/4
    s2.
    s2.
    \barNumberCheck #35 | % global
    \time 2/2
    s1
    \time 3/4
    s2.
    s2.
    s2.
    s2.
    \barNumberCheck #40 | % global
    s2.
    s2.
    \time 2/2
  }
  \alternative {
    { s1 }
    { s1 }
  }
  \bar "|."
}

soprano = \relative {
  f'1
  \repeat volta 2 {
    a4. bf8 c4 c4
    bf4 a g f
    c'2 c4. c8
    \barNumberCheck #5 | % soprano
    c4 d2 c4
    bf4 a g g
  }
  \alternative {
    { a2 r4 f }
    { a2 r4 f }
  }
  c'4. c8 a4 a8 c
  \barNumberCheck #10 | % soprano
  bf4 a g8 f g g
  a2 r2
  R1
  f4 a8 bf c4 c~
  c8 g c4 c2 % variant: g is a in some versions
  \barNumberCheck #15 | % soprano
  a4 a c a8 d
  c4 a r2
  r4 c c b
  c1
  \repeat volta 2 {
    r2 r4 d8 c
    \barNumberCheck #20 | % soprano
    bf4. a8 g4 f
    r4 d'8 c bf4. a8
    g4 f r2
    r4 c'2 g4
    e4. f8 g4 g
    \barNumberCheck #25 | % soprano
    r4 c8 c g4 a
    e4 f g8 bf a4
    g4 f2 ( e4 )
    f2 r
    r4 a a b
    \barNumberCheck #30 | % soprano
    c4 g a2
    g2 f
    e1
    R2.
    R2.
    \barNumberCheck #35 | % soprano
    r2 c'
    d2 c4
    bf4 g2
    a4. bf8 c4
    c4. bf8 a4
    \barNumberCheck #40 | % soprano
    g2 f4
    f4 e2
  }
  \alternative {
    { f4 f r2 }
    { f2 f }
  }
}

alto = \relative {
  R1
  \repeat volta 2 {
    R1
    R1
    r2 f'4. f8
    \barNumberCheck #5 | % alto
    f4 f2 f4
    f8 f f2 e4
  }
  \alternative {
    { f1 }
    { f1 }
  }
  r4 c f4. f8
  \barNumberCheck #10 | % alto
  d4 f e8 d e e
  f2 r
  r2 r4 f
  a8 bf c4 a f~
  f4 e f2
  \barNumberCheck #15 | % alto
  f4 f a f8 bf
  a4 f r2
  r4 f g4. f8
  e2 r
  \repeat volta 2 {
    r4 f8 e d2
    \barNumberCheck #20 | % alto
    r4 d'8 c bf4. a8
    g4 f r d'8 c
    bf4. a8 g4 ( f )
    e2 r4 c'~
    c4 g e4. f8
    \barNumberCheck #25 | % alto
    g4 g r c8 c
    g4 a e ( f )
    e4 c c2
    c2 r
    r4 f f d
    \barNumberCheck #30 | % alto
    c4 c r d~
    d8 c c2 ( b4 )
    c2 g'
    a2 g4
    f4 d2
    \barNumberCheck #35 | % alto
    e4 e g2
    g4 f2
    g4 e2
    f4. g8 a4
    a4. g8 f4
    \barNumberCheck #40 | % alto
    e2 c4
    d4 c2
  }
  \alternative {
    { c2 c }
    { c2 c }
  }
}

tenor = \relative {
  R1
  \repeat volta 2 {
    R1
    R1
    r2 a4. a8
    \barNumberCheck #5 | % tenor
    a4 bf2 c4
    d8 d c2 c4
  }
  \alternative {
    { c1 }
    { c1 }
  }
  R1
  \barNumberCheck #10 | % tenor
  r4 f, c'4. c8
  a4 a8 c bf4 a
  g8 a bf g a2
  r4 f a8 bf c4
  c4 g8 g a2
  \barNumberCheck #15 | % tenor
  c2 r
  r4 a c a8 d
  c8 a c4 d d
  c4 c8 bf a4. g8
  \repeat volta 2 {
    f2 f4 f'8 e
    \barNumberCheck #20 | % tenor
    d2 r4 d8 c
    bf4. a8 g4 f
    r4 d'8 c bf4. a8
    g2 e
    r4 c'2 g4
    \barNumberCheck #25 | % tenor
    e4. f8 g4 e
    r4 c'8 c g g a f
    g8 bf a a g2
    f4 c' d e
    f4 c r2
    \barNumberCheck #30 | % tenor
    r2 r4 a
    c4 g ( a g8 f )
    g2 c
    c2 c4
    d4 b2
    \barNumberCheck #35 | % tenor
    c4 g g2
    bf2 c4
    d4 c2
    c4. bf8 a4
    c4 c c
    \barNumberCheck #40 | % tenor
    c2 a4
    bf4 g2
  }
  \alternative {
    { a8 a c bf a4. g8 }
    { a2 a }
  }
}

bass = \relative {
  R1
  \repeat volta 2 {
    R1
    R1
    r2 f4. f8
    \barNumberCheck #5 | % bass
    f4 bf,2 a4
    bf4 f c' c
  }
  \alternative {
    { f1 }
    { f1 }
  }
  R1
  \barNumberCheck #10 | % bass
  r2 r4 c
  f4. f8 d4 f
  e8 f g e f2
  r2 f,4 a8 bf
  c2 f~
  \barNumberCheck #15 | % bass
  f4 f, r2
  r4 f' a f8 bf
  a8 f a4 g g
  c,2 r4 f8 e
  \repeat volta 2 {
    d4. c8 bf2~
    \barNumberCheck #20 | % bass
    bf4 bf bf2
    bf1
    bf1
    c1
    c1
    \barNumberCheck #25 | % bass
    c1
    c1
    c1
    f,4 f' bf g
    f4 f r2
    \barNumberCheck #30 | % bass
    r2 f
    e2 d
    c2 c
    f2 e4
    d4 g2
    \barNumberCheck #35 | % bass
    c,4 c c2
    bf2 a4
    g4 c2
    f,4 f f
    f'4 f f
    \barNumberCheck #40 | % bass
    c2 f4
    bf,4 c2
  }
  \alternative {
    { f,2 f4 f'8 e }
    { f,2 f }
  }
}

%%\include "Midi-satb.lily"

sopranotext = \lyricmode {
  \set associatedVoice = vsoprano
  Fair1
  \repeat volta 2 {
    Phyl4. -- lis8 I4 saw sit -- ting all a -- lone,2
    Feed4. -- ing8 her4 flock2 near4 to the moun -- tain
  }
  \alternative {
    { side,2 \skip4 Fair4 }
    { side.2 \skip4 The4 }
  }
  shep4. -- herds8 knew4 not,8 they knew4 not whi8 -- ther she was gone.2
  \skip1.
  But4 af8 -- ter her4 lov4. -- er,8 her4 lov2 -- er,4
  but4 af -- ter8 her lov4 -- er
  \skip2.
  A4 -- myn -- tas hied.1
  \repeat volta 2 {
    \skip2.
    Up8 and down4. he8 wan4 -- der’d,
    \skip4
    up8 and down4. he8 wan4 -- der’d,
    \skip2.
    up2 and4 down4. he8 wan4 -- der’d,
    \skip4
    up8 and down4 he wan -- der’d,
    up8 and down4 he wan2. -- der’d2
    \skip2.
    whilst4 she was miss -- ing;
    When2 he found her,1
    \skip2. \skip2. \skip2
    O2 then they4 fell a2 -- kiss4. -- ing,8 a4 -- kiss4. -- ing,8
    O4 then2 they4 fell a2 --
  }
  \alternative {
    { kiss4 -- ing. \skip2 }
    { kiss2 -- ing. }
  }
}

altotext = \lyricmode {
  \set associatedVoice = valto
  \skip1
  \repeat volta 2 {
    \skip1 \skip1.
    Feed4. -- ing8 her4 flock2 near4 to8 the moun2 -- tain4
  }
  \alternative {
    { side,1 }
    { side.1 }
  }
  \skip4
  The4 shep4. -- herds8 knew4 not whi8 -- ther she was gone.2
  \skip2 \skip2.
  But4 af8 -- ter her4 lov -- er,2 __
  her4 lov2 -- er,4 but af -- ter8 her lov4 -- er
  \skip2.
  A4 -- myn4. -- tas8 hied.2
  \skip2
  \repeat volta 2 {
    \skip4
    Up8 and down,2
    \skip4
    up8 and down4. he8 wan4 -- der’d,
    \skip4
    up8 and down4. he8 wan2 -- der’d,
    \skip4
    up2 __ and4 down4. he8 wan4 -- der’d,
    \skip4
    up8 and down4 he wan2 -- der’d,4
    he4 wan2 -- der’d
    \skip2.
    whilst4 she was miss -- ing;
    \skip4
    When4. __ he8 found2. __ her,2
    O2 then they4 fell a2 -- kiss4 -- ing,
    O2 then they4 fell a2 -- kiss4. -- ing,8 a4 -- kiss4. -- ing,8
    O4 then2 they4 fell a2 --
  }
  \alternative {
    { kiss2 -- ing. }
    { kiss2 -- ing. }
  }
}

tenortext = \lyricmode {
  \set associatedVoice = vtenor
  \skip1
  \repeat volta 2 {
    \skip1 \skip1.
    Feed4. -- ing8 her4 flock2 near4 to8 the moun2 -- tain4
  }
  \alternative {
    { side,1 }
    { side.1 }
  }
  \skip1 \skip4
  The4 shep4. -- herds8 knew4 not,8 they knew4 not whi8 -- ther she was gone.2
  \skip4
  But4 af8 -- ter her4 lov -- er,8 her lov2 -- er,
  \skip2.
  but4 af -- ter8 her lov -- er A4 -- myn -- tas hied.
  Up8 and down4. he8
  \repeat volta 2 {
    wan2 -- der’d,4
    up8 and down,2
    \skip4
    up8 and down4. he8 wan4 -- der’d,
    \skip4
    up8 and down4. he8 wan2 -- der’d,
    \skip4
    up2 and4 down4. he8 wan4 -- der’d,
    \skip4
    up8 and down he wan -- der’d,
    up8 and down he wan2 -- der’d4
    whilst4 she was miss -- ing;
    \skip2 \skip2.
    When4 he found2. __ her,2
    O2 then they4 fell a2 -- kiss4 -- ing,
    O2 then they4 fell a2 -- kiss4. -- ing,8 a4 -- kiss -- ing,
    O4 then2 they4 fell a2 --
  }
  \alternative {
    { kiss8 -- ing. Up and down4. he8 }
    { kiss2 -- ing. }
  }
}

basstext = \lyricmode {
  \set associatedVoice = vbass
  \skip1
  \repeat volta 2 {
    \skip1 \skip1.
    Feed4. -- ing8 her4 flock2 near4 to the moun -- tain
  }
  \alternative {
    { side,1 }
    { side.1 }
  }
  \skip1 \skip2.
  The4 shep4. -- herds8 knew4 not whi8 -- ther she was gone.2
  \skip2
  But4 af8 -- ter her2 lov2. -- er,4
  \skip2.
  but4 af -- ter8 her lov -- er A4 -- myn -- tas hied.2
  \skip4
  Up8 and
  \repeat volta 2 {
    down4. he8 wan2 -- _4 der’d, he2 wan1 -- der’d,
    up1 and down he wan -- der’d4 whilst she was miss -- ing;
    \skip1
    When2 he found her,
    O2 then they4 fell a2 -- kiss4 -- ing,
    O2 then they4 fell a2 -- kiss4 -- ing, a -- kiss -- ing,
    O4 then2 they4 fell a2 --
  }
  \alternative {
    { kiss2 -- ing.4 Up8 and }
    { kiss2 -- ing. }
  }
}

\score {
  \transpose f f \unfoldRepeats %%% \unfoldRepeats IS NORMALLY COMMENTED
  \new ChoirStaff <<
    \new Staff <<
      \clef treble \global
      \new Voice = vsoprano { \accident \soprano }
      \new Lyrics { \sopranotext }
    >>
    \new Staff <<
      \clef treble \global
      \new Voice = valto { \accident \alto }
      \new Lyrics { \altotext }
    >>
    \new Staff <<
      \clef "treble_8" \global
      \new Voice = vtenor { \accident \tenor }
      \new Lyrics { \tenortext }
    >>
    \new Staff <<
      \clef bass \global
      \new Voice = vbass { \accident \bass }
      \new Lyrics { \basstext }
    >>
  >>
  \layout { }
  \midi { \tempo 2=72 } %%% THIS LINE IS NORMALLY ABSENT
}

Attachment: phyllis.pdf
Description: Adobe PDF document

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

Reply via email to