The English Hymnal - Wiki Music Experiment/104

From DPWiki
Jump to navigation Jump to search

Lily1 Code

Edit this section and paste your code between the tags <code><pre> and </pre></code>.

To upload a midi, go here: file-repository. You need a userid and password (see this project's main wiki page).

Then create a link in this section to that uploaded midi file.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% The English Hymnal, 104-5.png, hymn #49.
%%% Format=ABC
%%%

X: 21
T: 49
C: 
M: 
L: 1/8
Q: 1/8=100
K: Eb
V:1 staves=5
%%MIDI transpose 3
K:C
F E G AG F GA GFE E|D DA
A A AG Ac AG GA|A A G AG
F G FE D|F E G AG F GA GFE E||
%
V:2
%%MIDI transpose 0
A G B cB A Bc BAG G|F Fc
c c cB ce cB Bc|c c B cB
A B AG F|A G B cB A Bc BAG G||
%
V:3
%%MIDI transpose 0
E E E E2 C E2- E3- E|C C2
F E E2- E2- EG G2|E E G G2
F G E2 D|E E E E2 C E2- E3 D||
%
V:4 clef=bass
%%MIDI transpose -24
a b g ag a g2- gab b|a a2-
a g ab ac' e'2 d'e'|e' e' e' e'2
c' e' c'b b|a b g g2 a g2- gab b||
%
V:5 clef=bass
%%MIDI transpose -24
c e e Ae f e2- e3- e|f f2-
f c ag a2 ae gc|a a e ce
f e Ae B|c e e ce f e2- e3 g||

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% The English Hymnal, 104-5.png, hymn #49.
%%% Format=ABC
%%%
%%% Amen only
%%%
%%% Missing tie on last two alto notes of amen?

X: 22
T: 
C: 
M: 
L: 1/8
Q: 1/8=100
K: Eb
V:1 staves=5
K:C
%%MIDI transpose 3
EF EDE||
w:A_men.__
%
V:2
%%MIDI transpose 0
GA GFG||
%
V:3
%%MIDI transpose 0
E2 EDD||
%
V:4 clef=bass
%%MIDI transpose -24
bc' b2- b||
%
V:5 clef=bass
%%MIDI transpose -24
eA eBG||

Lyrics copied from P3 and perl-formatted--QMacrocarpa 14:46, 21 May 2007 (PDT):

"Creator of the earth and sky,"
"Ruling the firmament on high,"
"Clothing the day with robes of light,"
"Blessing with gracious sleep the night,"
""
"That rest may comfort weary men,"
"And brace to useful toil again."
"And soothe awhile the harassed mind,"
"And sorrow's heavy load unbind:"
""
"Day sinks; we thank thee for thy gift;"
"Night comes; and once again we lift"
"Our prayer and vows and hymns that"
"Against all ills may shielded be. [we"
""
"Thee let the secret heart acclaim,"
"Thee let our tuneful voices name."
"Round thee our chaste affections cling,"
"Thee sober reason own as King."
""
"That when black darkness closes day,"
"And shadows thicken round our way,"
"Faith may no darkness know, and night"
"From faith's clear beam may borrow light."
""
"Rest not, my heaven-born mind and will;"
"Rest, all ye thoughts and deeds of ill;"
"May faith its watch unwearied keep,"
"And cool the dreaming warmth of sleep."
""
"From cheats of sense, Lord, keep me free."
"And let my heart's depth dream of thee;"
"Let not my envious foe draw near,"
"To break my rest with any fear."
""
"Pray we the Father and the Son,"
"And Holy Ghost: O Three in One,"
"Blest Trinity, whom all obey,"
"Guard thou thy sheep by night and day. Amen."
""

Lily2 Code

Edit this section and paste your code between the tags <code><pre> and </pre></code>.

To upload the output PDF and midi files, go here: file-repository. You need a userid and password (see this project's main wiki page).

Then create a link in the Lily3 section to those files

%%% 104png
%%% Hymn 49 Creator of the Earth and Sky
%%% Version 5


\version "2.10.19"

\include "gregorian-init.ly"

\header {
  dedication = \markup { \center-align {  "THE CHRISTIAN YEAR - FROM THE EPIPHANY TILL LENT"
		\hspace #0.1 }}	
  title = "49"
  
  arranger = \markup { \small { "Mode iv." }}
  
  tagline =""
}

%%%%%%%%%%%%%%%%%%%%%%% Macro Definitions

%% macro settings for stemless long note which is 2x duration of regular white note    
ln = {\once \override NoteHead #'duration-log = #0 
           \once \override Stem #'stencil = ##f
           \once \override NoteColumn #'force-hshift = #'0.4 }

%% needed to prevent an accidental from showing	   
noacci = { \once \override Accidental #'transparent = ##t }
	   
%%%%%%%%%%%%%%%%%%%%%%% End of Macro Definitions

%%% plainsong voice

plainsong = \context VaticanaVoice  {  \relative c { 
	\clef "vaticana-do3"
	\set fontSize = #3
        \key c \major 
  f8 e8 g8 \[ a8 \flexa g8 \] f8 \[ g8 \pes a8 \] \[ \virga g8 \inclinatum f8 \inclinatum e8\] e8 \bar "|" 
      d8 \[ d8 \pes a'8 \] \bar "" \break
  a8 a8 \[ a8 \flexa g8 \] \[ a8 \pes c8 \] \[ a8 \flexa g8 \] \[ g8 \pes a8 \] \bar "|" 
      a8 a8 g8 \[ a8 \flexa  g8 \] \bar "" \break
  f8 g8 \[ f8 \flexa  e8 \] d8 \bar "|" f8 e8 g8 \[ a8 \flexa g8 \] f8 \[ g8 \pes a8 \] 
      \[ \virga g8 \inclinatum f8 \inclinatum e8\] e8 \bar "||" 	
  }
}

%%% SATB voices

global = {
  \key ees \major 
  \set Staff.midiInstrument = "church organ"
}

soprano = \relative c' {
	\autoBeamOff

  aes'8 g8 bes8 c8[ bes8] aes8 bes8[ c8] bes8[ aes8 g8] g8 \bar "|" 
      f8 f8[ c'8] 
  c8 c8 c8[ bes8] c8[ ees8] c8[ bes8] bes8[ c8] \bar "|" 
      c8 c8 bes8 c8[ bes8 ]
  aes8 bes8 aes8[ g8] f8 \bar "|" 
      aes8 g8 bes8 c8[ bes8] aes8 bes8[ c8] bes8[ aes8 g8] g8 \bar "||" 
}

alto = \relative c' {
	\autoBeamOff
	
  ees8 ees8 ees8 \ln ees4 c8 \ln ees4 ~ \ln ees4. ~ ees8 \bar "|" 
      c8 \ln c4 
  f8 ees8 \ln ees4 ~ \ln ees4 ~ ees8[ g8] \ln g4 \bar "|" 
      ees8 ees8 g8 \ln g4 
  f8 g8 \ln ees4 d8 \bar "|" 
      ees8 ees8 ees8 \ln ees4 c8 \ln ees4 ~ \ln ees4. d8 \bar "||" 
}

tenor = \relative c { \clef bass
	\autoBeamOff

  aes'8 bes8 g8 aes8[ g8] aes8 \ln g4 ~ g8[ aes8 bes8] bes8 \bar "|" 
      aes8 \ln aes4 ~ 
  aes8 g8 aes8[ bes8] aes8[ c8] \ln ees4 d8[ ees8] \bar "|" ees8 ees8 ees8 \ln ees4 
  c8 ees8 c8[ bes8] bes8 \bar "|" 
        aes8 bes8 g8 \ln g4 aes8 \ln g4 ~ g8[ aes8 bes8] bes8 \bar "||" 
}

bass = \relative c { \clef bass
	\autoBeamOff
	
 c8 ees8 ees8 aes,8[ ees'8] f8 \ln ees4 ~ \ln ees4. ~ ees8 \bar "|" 
     f8 \ln f4 ~ 
 f8 c8 aes'8[ g8] \ln aes4 aes8[ ees8] g8[ c,8] \bar "|" aes'8 aes8 ees8 c8[ ees8] 
 f8 ees8 aes,8[ ees'8] bes8 \bar "|" 
     c8 ees8 ees8 c8[ ees8] f8 \ln ees4 ~ \ln ees4. g8 \bar "||" 
}

#(ly:set-option 'point-and-click #f)

\book {

\paper {
 #(set-paper-size "a4")
%% annotate-spacing = ##t
 print-page-number = ##f
 ragged-last-bottom = ##t
 ragged-bottom = ##t
}

%%% Score block

\score {	
  <<
  \new VaticanaStaff {\plainsong }
  \new ChoirStaff <<
   \new Staff = "upper" <<
      \context Voice = sopranos {\voiceOne \global \soprano }
      \context Voice = altos {\voiceTwo \global \alto }
                      >> 
   \new Staff = "lower" <<
      \context Voice = tenors {\voiceOne \global \tenor }
      \context Voice = bass {\voiceTwo \global \bass }
	             >> 
		 >>  
  >>

\layout {
	
  ragged-right = ##f
  ragged-last = ##f
  \context { \Score timing = ##f }
  \context { \Score \override TimeSignature #'transparent = ##t }
  \context { \Score \remove "Mark_engraver" }
  \context { \Staff \consists "Mark_engraver" }
  
  % *** Needed to produce beamed minims - which are quavers in disguise
  \context { \Staff \override NoteHead #'duration-log = #1 }
  \context { \Staff \override Stem #'flag-style = #'no-flag }
  
  \context { \VaticanaStaff
           % *** Increases distance between lines of staff  
           \override StaffSymbol #'staff-space = #1.6            
           % *** Changes staff to black instead of default red
           \revert StaffSymbol #'color
           % *** Makes clef bigger       
           \override Clef #'font-size = #3
           % *** Would make ledger lines black, if there were any
           \revert LedgerLineSpanner #'color
           % *** Makes terminal barline visible 
           \override BarLine #'transparent = ##f 
  	   % *** Remove custos
	   \remove Custos_engraver
	   % needed for certain tweaks
	   \consists "Mark_engraver"
           }
 }

} %%% score bracket

%%% A separate score block minus the Vaticana staff to generate the midi
%%% Since the minims are quavers in disguise, the tempo has to be adjusted accordingly. A tempo of 2=80 is set.

\score {	
  \new ChoirStaff <<
   \new Staff = "upper" <<
      \context Voice = sopranos {\voiceOne \global \soprano }
      \context Voice = altos {\voiceTwo \global \alto }
                      >> 
   \new Staff = "lower" <<
      \context Voice = tenors {\voiceOne \global \tenor }
      \context Voice = bass {\voiceTwo \global \bass }
	             >> 
		 >>  
 
\midi { 
  \context { \Score tempoWholesPerMinute = #(ly:make-moment 80 8) }
       }        
}

%%% Lyrics markups

\markup {
	\column {
		\line { \small { \hspace #10 \smallCaps "Office Hymn." \italic "Saturday," "E." \hspace #25 \italic "St. Ambrose, 340-97.   Tr. C. B."  }  }
	    \line { \hspace #40 \small "Deus Creator omnium."}
} }
   
\markup { \hspace #30 %%add space as necc. to center the column
          \column { %% super column of everything
	              \column { %%stanza 1 is a column of 2 lines  
	                  \line { \hspace #2.2 \column { \lower #2.4 \fontsize #8 "C" }   %%Drop Cap goes here
				  \hspace #-1.2    %% adjust this if other letters are too far from Drop Cap
				  \column  { \raise #0.0 "REATOR of the earth and sky,"  "  Ruling the firmament on high,"} }          
	                  \line {  \hspace #2.5  %%adjust hspace until this line left edge is flush with Drop Cap
				   \lower  #1.56  %%adjust this until the line spacing looks right
				   \column {   
					   "Clothing the day with robes of light,"
					   "Blessing with gracious sleep the night,"
			  		}}
			       
			           } %% end of verse 1	
		
		}  
}	  
	
%%% fake score block to occupy space and force a pagebreak.  Can't think of a better way of doing this.
\score{
	{s4 }
\header { breakbefore = ##f piece = ##f opus = ##f tagline = ##f }
\layout{	
	\context { \Staff
		\remove Time_signature_engraver
		\remove Key_engraver
		\remove Clef_engraver
		\remove Staff_symbol_engraver
}}}

%%% second page
%%% Continuation of lyrics

\markup { \hspace #30   %%add space as necc. to center the column
          \column { 
           		\line { "2  "
			   \column {	     
			     "That rest may comfort weary men,"
			     "And brace to useful toil again,"
			     "And soothe awhile the harassed mind,"
			     "And sorrow's heavy load unbind:"
			}}
           	  \hspace #1  % adds vertical spacing between verses  
		  \line { "3  "
		    \column {	     
			    "Day sinks; we thank thee for thy gift;"
			    "Night comes; and once again we lift"
			    "Our prayer and vows and hymns that we"
			    "Against all ills may shielded be."
			}}
		\hspace #1 % adds vertical spacing between verses  
           	\line {"4  "
		    \column {	     
			    "Thee let the secret heart acclaim,"
			    "Thee let our tuneful voices name,"
			    "Round thee our chaste affections cling,"
			    "Thee sober reason own as King."
			}} 
		\hspace #1 % adds vertical spacing between verses  
           	\line {"5  "
		    \column {	     
			    "That when black darkness closes day,"
			    "And shadows thicken round our way,"
			    "Faith may no darkness know, and night"
			    "From faith's clear beam may borrow light."
		}}
		\hspace #1 % adds vertical spacing between verses  
           	\line {"6  "
		    \column {	     
			    "Rest not, my heaven-born mind and will;"
			    "Rest, all ye thoughts and deeds of ill;"
			    "May faith its watch unwearied keep,"
			    "And cool the dreaming warmth of sleep."
		}}
		\hspace #1 % adds vertical spacing between verses  
           	\line {"7  "
		    \column {	     
			    "From cheats of sense, Lord, keep me free,"
			    "And let my heart's depth dream of thee;"
			    "Let not my envious foe draw near,"
			    "To break my rest with any fear."
		}}
		\hspace #1 % adds vertical spacing between verses
           	\line { "8. "
		   \column {	     
			   "Pray we the Father and the Son,"
			   "And Holy Ghost: O Three in One,"
			   "Blest Trinity, whom all obey,"
			   "Guard thou thy sheep by night and day.     Amen." 
     			}}
	  }
} %%% lyric markup bracket

%%% Amen score block

\score {  	
  <<
    <<
  \new VaticanaStaff <<
  \context VaticanaVoice = "plainsongamen"  {  \relative c { 	  
	\set Score.timing = ##f
	\override Staff.Clef #'#'font-size = #3
	\clef "vaticana-do3"
	\set fontSize = #3
	\override Staff.StaffSymbol #'staff-space = #1.6
	 
        \[ e8 \pes f8 \]   \[
	    \override NoteHead #'extra-offset = #'(0.0 . 0.0 ) e8 
            \override NoteHead #'extra-offset = #'(-0.38 . 0) \flexa  d8 \pes 
            \override NoteHead #'extra-offset = #'(0.02 . 0.05) e8 \] }} 
                    >> 
 \new Lyrics = "lyrics" { s1 }
 \new ChoirStaff
   <<
   \context Staff = upper \with {  fontSize = #-3  \override StaffSymbol #'staff-space = #(magstep -2) } 
                              << 
	\context Voice = "sopranos" { \relative c' { 
	                                              \clef treble \global
	                                              \voiceOne g'8[ aes8] g8[ f8 g8] \bar "||" }}
	\context Voice = "altos"    { \relative c' { 
	                                              \global
	                                              \voiceTwo \ln ees4 ees8[ d8 d8] \bar "||" }}
	                      >>
	\context Staff = lower \with { fontSize = #-3  \override StaffSymbol #'staff-space = #(magstep -2) } 
	                      <<
	\context Voice = "tenors" { \relative c { 
		                                  \clef bass  \global
	                                          \voiceThree  bes'8[ c8] \ln bes4 ~ bes8 \bar "||" }}
	\context Voice = "basses" { \relative c { 
	                                          \clef bass  \global
						  \voiceFour ees8[ aes,8] ees'8[ bes8 g8] \bar "||" }}
			        >> 
   >>
  \context Lyrics = "lyrics" \lyricsto "altos" { \override LyricText #'font-size = #-1  A -- men. }
  >>
>>

\header { breakbefore = ##f piece = " " opus = " " }

\layout {
     indent = 13\cm
     raggedright = ##t
     packed = ##f
     \context { \Score \override TimeSignature #'transparent = ##t }
     \context { \Score \override SeparationItem #'padding = #2 }
     \context { \Staff \override VerticalAxisGroup #'minimum-Y-extent = #'( -5 . 4) }
     \context { \Score \remove "Bar_number_engraver"
		timing = ##f 
              }
     \context { \Staff \override NoteHead #'duration-log = #1 }
     \context { \Staff \override Stem #'flag-style = #'no-flag }
     \context { \VaticanaStaff %%customize vaticana staff context 
	          \revert StaffSymbol #'color
		  \revert LedgerLineSpanner #'color
		  \override BarLine #'transparent = ##f 
		  \remove Custos_engraver
 	} 
} 

}

%%% Separate score block for Amen midi minus plainsong voice
%%% Since the minims are quavers in disguise, the tempo has to be adjusted accordingly. A tempo of 2=80 is set.

\score {  	
 \new ChoirStaff
   <<
   \context Staff = upper \with {  fontSize = #-3  \override StaffSymbol #'staff-space = #(magstep -2) } 
                              << 
	\context Voice = "sopranos" { \relative c' { 
	                                              \clef treble \global
	                                              \voiceOne g'8[ aes8] g8[ f8 g8] \bar "||" }}
	\context Voice = "altos"    { \relative c' { 
	                                              \global
	                                              \voiceTwo \ln ees4 ees8[ d8 d8] \bar "||" }}
	                      >>
	\context Staff = lower \with { fontSize = #-3  \override StaffSymbol #'staff-space = #(magstep -2) } 
	                      <<
	\context Voice = "tenors" { \relative c { 
		                                  \clef bass  \global
	                                          \voiceThree  bes'8[ c8] \ln bes4 ~ bes8 \bar "||" }}
	\context Voice = "basses" { \relative c { 
	                                          \clef bass  \global
						  \voiceFour ees8[ aes,8] ees'8[ bes8 g8] \bar "||" }}
			        >> 
   >>
   
\midi {  
   \context {
       \Score 
       tempoWholesPerMinute = #(ly:make-moment 80 8)
            }
       }

}
	
} %% book bracket

Lily3

We are trying out a new workflow where L3 grabs the code, compiles and checks. After clearance, L3 will name the files and upload to repository. This ensures that what is checked and cleared is exactly what is uploaded.

Notes

Notes by L2 Jkenny 05:43, 3 June 2007 (PDT)

  • Normal (non-plain song) staffs - is the key e flat major or c minor?
  • Same observation as next piece - theme before lyrics says "From the Octave of the Epiphany ... " while theme on page header just says "From the Epiphany ... " Opted for the longer theme as it is more informative.
  • Same sash problem with the Amen again. Did my best.

stygiania 12:35, 4 June 2007 (PDT)

  • Longer theme in header is logical.
  • Major vs. minor: Which takes precedence--the first chord or the last? Prof. Bleyle had a rule about it but I don't remember....
  • Need to beam alto notes, 2nd system Eb -- G.
  • 2nd system, tenor line, 1st Eb should appear as whole note.
  • Lyrics attrib. line: Should be a comma instead of period after Saturday.
  • Should be lower-case o in omnium (above lyrics).
  • Verse 2, line 2, period or comma at end?
  • Verse 4, line 2, period or comma at end?

Jkenny 18:45, 4 June 2007 (PDT)

  • Beamed alto notes fixed.
  • Whole note tenor line fixed.
  • Comma after Saturday and o in omnium fixed/
  • Went back to check 1933 edition -- they are definitely commas, so changed the code. Also update P3 errors page.

QMacrocarpa 10:30, 5 June 2007 (PDT)

  • About the key, a website that might be useful: A brief intro to modes... It seems to suggest that the modes corresponding to major and minor were both somewhat frowned on by the church though. Wikipedia also has a useful article on church modes. Mode iv is also known as Hypophrygian (second paragraph is relevant to medieval music). ABC lets you specify some modes in the key signature like "K: D Dorian" or "K: G Mixolydian". Don't know if Lilypond has something similar. If it did (and it worked sort of like ABC, which it probably wouldn't), then I think "G Hypophrygian" would be the appropriate specification for the white-note staves in this piece. If there isn't a way to specify the precise mode in the Lilypond key signature, I'd just go with E-flat.
  • While the longer theme header is nice, it would be good for all the pieces grouped under one theme in the original to have matching PDF headers. If we have one piece with a unique longer version of the theme header, and then seven or so pieces with the short version, it might not be obvious to the end user that all eight pieces really "go together" and share a single theme. Practically speaking, it will be easier to maintain consistency if we change the one unique theme header to match the seven, instead of having to remember to make the change on all seven to match the one. So I am for using the short version everywhere.
  • Lyrics attribution line: the font-o-vision indicates that "St. Ambrose..." is not \small. I looked at the code, and I think there is a set of {} that is preventing the \small flag from applying to that portion of the line.
  • Verse 1, line 2 looks indented a bit more than needed around drop-cap, but if this is a standard amount, that's fine, let's stick with the standard (and please add to lilypond guidelines).
  • Verse 7, line 1: punctuation at end should be comma, not period (checked original).
  • Also, if the spacing before an "Amen." at the end of the last verse is standard, let's get that in the guidelines too.
  • Possible typo in amen block: missing tie between last two alto notes? Definitely not present in original, but have seen instances where it was present in identical situations (090.png, e.g.). Some later pieces do it differently, with a whole note in the alto instead of a pair of half notes (see 111.png), so I guess we can't get everything consistent however we do it here. I guess I don't feel too strongly about it either way-- the ligature-beam may serve as enough of a "tie," and I've seen another instance like this one with no explicit tie, so maybe we should leave as is.

Jkenny 19:23, 5 June 2007 (PDT)

  • On key signature, Lilypond doesn't seem to have a way to specify G Hypophrygian, or at least I have not found it in the manual nor the mailing list, so left it as e-flat.
  • Changed theme to the short theme, but left note for PPer about the existence of long theme so he can make his choice.
  • Fixed St. Ambrose.
  • Fixed line 2 after drop cap. Normally I leave 2 spaces. But my guess is sometimes this is increased when the "look" calls for it -- such as when the drop cap is a spreading letter like W. Perhaps this is what the guidelines can say -- leave two spaces, but if it still looks awkward, leave more, and make a note.
  • Fixed leading before Amen. Missing line of code (finger problem?) Usually the Amen blocks have an empty header line within the code block which causes Lilypond to add leading. This line was somehow not here.
  • Verse 7 line 1 changed to comma. P3 error.
  • Amen block - as you suggest, I'll leave it as it is. But may be a note for the PPer?

Jkenny 01:17, 13 June 2007 (PDT)

  • Inserted new score block to generate midi minus the plainsong voice
  • Inserted new score block to generate Amen midi minus the plainsong voice

QMacrocarpa 09:11, 14 June 2007 (PDT)

  • Cleared, uploaded, and updated errata page.


Project History

    • Lily1 - done by QMacrocarpa (ABC + perl-formatted lyrics)
    • Lily2 - done by Jkenny 05:44, 3 June 2007 (PDT)
    • Lily3 - Comments added stygiania 12:35, 4 June 2007 (PDT)
- fixed. Jkenny 18:47, 4 June 2007 (PDT)
- comments added QMacrocarpa 10:33, 5 June 2007 (PDT)
- fixed. Jkenny 19:26, 5 June 2007 (PDT)
- add "no vaticana" midi code? stygiania 21:28, 12 June 2007 (PDT)
- done! Fixed midi and Amen midi - no Vaticana. Jkenny 09:10, 14 June 2007 (PDT) (Ready for Lily 3 clearance)
- Lily 3 cleared and uploaded QMacrocarpa 09:13, 14 June 2007 (PDT)
- re-upload requested. Jkenny 10:07, 14 June 2007 (PDT)
- Done. --Q


Notes for PPer

  • Just above the lyrics is a theme: "From the Octave of the Epiphany Till Lent". This was not used. Instead, opted to use the shorter theme "From the Epiphany Till Lent" which is present in the page header. This is done to standardise the themes for all hymns in this theme.
  • Amen block - missing tie between last two alto notes?