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
}
phyllis.pdf
Description: Adobe PDF document
_______________________________________________ lilypond-user mailing list [email protected] https://lists.gnu.org/mailman/listinfo/lilypond-user
