The English Hymnal - Wiki Music Experiment/038

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, 038-9.png
%%% Format=ABC
%%%
%%% Note special symbols above 3rd system.
%%% ABC can't represent double whole notes of last meas.  Used ties instead-- will need to adjust in Lily code.
%%% No "Amen" at end of main lyrics, but have seen in at least one other piece.
%%% Final punctuation of line above lyrics seems odd.  Would prefer (1750). over (1750.)

X: 10
T: HELMSLEY. (8 7. 8 7. 4 7.)
C: English Melody of the 18th century.
M: 4/2
L: 1/2
Q: 1/2=69
K: G
V:1 staves=4
%%MIDI transpose 0
|:G2(Bd)|(GF)(ED)|(E>FG)(F/E/)|(D>C)B,2||
D3D|G2A2|(Bd)(cB)|(B2A)z:|
(A>BA)B|c2B2|(G>AG)c|(BA)G2|(B>cB)d|
(cB)A2||G3(A/B/)|D2c2|B2A2|G2-G2||
%
V:2
%%MIDI transpose 0
|:D2D2|(B,D)(CD)|(C>DE)(D/C/)|A,2G,2||
A,3D|D2(EF)|(GB)(AG)|(G2F)z:|
(F>GF)D|(EF)G2|(D2E)E|(GF)E2|E3D|
(FG)(GF)||D3D|D2G2|G2F2|G2-G2||
%
V:3 clef=bass
%%MIDI transpose -24
|:b2(ba)|(gb)(g/a/b)|g3g|f2g2||
(fgf)f|g2c'2|b2e'2|d'3z:|
d'3d'|c'2d'2|(b>ab)c'|(d'>c')b2|(g>ag)g|
(ab/c'/)d'2||b3b|a2(ga)|(bc')(d'c')|b2-b2||
%
V:4 clef=bass
%%MIDI transpose -24
|:g2(gf)|(eB)(cG)|c3c|d2G2||
(ded)c|B2A2|G2c2|d3z:|
d3B|A2G2|(g>fe)A|(B/c/d)e2|e3B|
(AG)d2||g3g|f2e2|d2d2|G2-G2||
%
W: "C. Wesley (1758) and J. Cennick (1750.)
W: "
W: "Lo! he comes with clouds descending,
W: "    Once for favoured sinners slain;
W: "Thousand thousand Saints attending
W: "    Swell the triumph of his train:
W: "                Alleluya!
W: "    God appears, on earth to reign.
W: "
W: "Every eye shall now behold him
W: "    Robed in dreadful majesty;
W: "Those who set at nought and sold him,
W: "    Pierced and nailed him to the tree,
W: "                Deeply wailing
W: "    Shall the true Messiah see.
W: "
W: "Those dear tokens of his passion
W: "    Still his dazzling body bears,
W: "Cause of endless exultation
W: "    To his ransomed worshippers:
W: "                With what rapture
W: "    Gaze we on those glorious scars!
W: "
W: "Yea, amen! let all adore thee,
W: "    High on thine eternal throne;
W: "Saviour, take the power and glory:
W: "    Claim the kingdom for thine own:
W: "                O come quickly!
W: "    Alleluya! Come, Lord, come!

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% The English Hymnal, 038-9.png
%%% Format=ABC
%%%
%%% Amen only.

X: 11
T: 
C: 
M: 4/2
L: 1/2
Q: 1/2=69
K: G
V:1 staves=4
%%MIDI transpose 0
G2G2||
%
V:2
%%MIDI transpose 0
E2D2||
w:A-men.
%
V:3 clef=bass
%%MIDI transpose -24
c'2b2||
%
V:4 clef=bass
%%MIDI transpose -24
c2G2||

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

%%% 038-39.png
%%%Hymn 7 Helmsley "Lo! he comes with clouds descending"
%%% Version 2 Fonts reset

\version "2.10"

\header {
  dedication = \markup { \center-align { "THE CHRISTIAN YEAR - ADVENT"
		\hspace #0.1 }}	
  title = "7"
  poet = \markup { \small {  \line { \sans "HELMSLEY." \hspace #1 \roman "(8 7. 8 7. 4 7.)"} } }
  meter = \markup { \small { \italic {Moderately slow, very dignified} \fontsize #-5 \general-align #Y #DOWN \note #"2" #1 = 69.} }
  arranger =  \markup { \small \italic "English Melody of the 18th century."}
  tagline =""
}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%macros

%%prints a repeat sign glyph comprising 4 dots and two thin bars
fdendrepeat = {\once \override Staff.BarLine #'stencil = #ly:text-interface::print 
	\once \override Staff.BarLine #'text = \markup  {  \line { \raise #1.4 \override #'(baseline-skip . 1.0)  \column { \with-color #black {  \fontsize #2 . \fontsize #2 . \fontsize #2 . \fontsize #2 .} }
	                                                  \hspace #-1 \filled-box #'(0 . 0.15) #'(-2 . 2) #0
							  \hspace #-0.9 \filled-box #'(0 . 0.15) #'(-2 . 2) #0
	
	} }	
        \bar "||"} 

%%prints a repeat sign glyph comprising 4 dots. Used only to begin a repeat at the start of a piece where \bar ":" does not work	
fdstartrepeat =  {\once \override Staff.BarLine #'stencil = #ly:text-interface::print 
	          \once \override Staff.BarLine #'text = \markup  { \line { \hspace #0 \override #'(baseline-skip . 1.0) 
	                                                 \raise #1.4 \column { \with-color #black { 
							                \fontsize #2 . \fontsize #2 . \fontsize #2 . \fontsize #2 .} }
	          } }	
                 \bar "|:"}




%%generates the percent sign used to indicate a repeat e.g. of lyrics
percentRepeat = \mark \markup { 
                          \fontsize #-2 { \rotate #'-31 ":" }  
                          {\fontsize #-5 \translate #(cons -1.2 0.4 ) \musicglyph #"noteheads.s2slash"} 
                          {\fontsize #-5 \translate #(cons -1.2 0.4 ) \musicglyph #"noteheads.s2slash"}  
                           \fontsize #-2  {\translate #(cons -1 -0.1 ) \rotate #'-30 ":" } 
                        }

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% end of macro definitions

soprano = \relative c' { 
  \fdstartrepeat g'1 b2 ( d2 ) \bar "|" g,2 ( fis2 ) e2 ( d2 ) \bar "|" 
      e2. ( fis4 g2 ) fis4 ( e4 ) )\bar "|" d2. ( c4 ) b1 \bar "||" \break
  d1. d2 \bar "|" g1 \once \override NoteColumn #'force-hshift = #0.45 a1 \bar "|" 
      b2 ( d2 ) c2 ( b2 ) \bar "|" b1 ( a2 ) b2\rest \fdendrepeat \break
  a2. ( b4 a2 ) b2 \bar "|" c1 b1\percentRepeat \bar "|" 
      g2. ( a4 g2 ) c2  \bar "|" b2 ( a2 ) g1 \percentRepeat \bar "|" b2. ( c4 b2 ) d2 \bar "|" \break
  c2 ( b2 ) \once \override NoteColumn #'force-hshift = #1.6 a1 \bar "||" g1. a4 ( b4 ) \bar "|" 
      d,1 c'1 \bar "|" b1 a1 \bar "|" g\breve \bar "||" 
}

alto = \relative c' {
  \fdstartrepeat d1 d1 \bar "|" b2 ( d2 ) c2 ( d2 ) \bar "|" 
      c2. ( d4 e2 ) d4 ( c4 ) \bar "|" a1 g1 \bar "||" 
  a1. d2 \bar "|" d1 e2 ( fis2 ) \bar "|" 
      g2 ( b2 ) a2 ( g2 ) \bar "|" g1 ( fis2 ) s2 \fdendrepeat
  fis2. ( g4 fis2 ) d2 \bar "|" e2 ( fis2 ) g1 \bar "|" 
      d1 ( e2 ) e2 \bar "|" g2 ( fis2 ) e1 \bar "|" e1. d2 \bar "|" 
  fis2 ( g2 ) g2 ( fis2 ) \bar "||" d1. d2 \bar "|" 
      \once \override NoteColumn #'force-hshift = #-0.02 d1 g1 \bar "|" g1 fis1 \bar "|" g\breve \bar "||" 
}

tenor = \relative c { \clef bass
  \fdstartrepeat b'1 b2 ( a2 ) \bar "|" g2 ( b2 ) g4 ( a4 b2 ) \bar "|" 
      g1. g2 \bar "|" fis1 g1 \bar "||" 
  fis2 ( g2 fis2 ) fis2 \bar "|" g1 c1 \bar "|" 
      b1 e1 \bar "|" d1. d,2\rest \fdendrepeat
  d'1. d2 \bar "|" c1 d1 \bar "|" 
      b2. ( a4 b2 ) c2 \bar "|" d2. ( c4 ) b1 \bar "|" g2. ( a4 g2 ) g2 \bar "|"  
  a2 ( b4 c4 ) d1 \bar "||" b1. b2 \bar "|" 
      a1 g2 ( a2 ) \bar "|" b2 ( c2 ) d2 ( c2 ) \bar "|" b\breve  \bar "||" 
}

bass = \relative c { \clef bass
  \fdstartrepeat g'1 g2 ( fis2 ) \bar "|" e2 ( b2 ) c2 ( g2 ) \bar "|" 
      c1. c2 \bar "|" d1 g,1 \bar "||" 
  d'2 ( e2 d2 ) c2 \bar "|" b1 a1 \bar "|" 
      g1 c1 \bar "|" d1. s2 \fdendrepeat
  d1. b2 \bar "|" a1 g1 \bar "|" 
      g'2. ( fis4 e2 ) a,2 \bar "|" b4 ( c4 d2 ) e1 \bar "|" \once \override NoteColumn #'force-hshift = #0.2 e1. b2 \bar "|" 
  a2 ( g2 ) d'1 \bar "||" g1. g2 \bar "|" fis1 \once \override NoteColumn #'force-hshift = #0.7 e1 \bar "|" d1 d1 \bar "|" g,\breve \bar "||"
}
  
global = {
  \time 4/2 
  \key g \major 
   \set Staff.midiInstrument = "church organ"
}

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

\paper {
  #(set-paper-size "a4")
  top-margin = 3\mm
  bottom-margin = 5\mm
  print-page-number = ##f
  between-system-space = #0.1
  ragged-last-bottom = ##t
  ragged-bottom = ##t
}

\book{

\score{
\new ChoirStaff	
 <<

	\context Staff = upper << 
	\context Voice = sopranos { \voiceOne \global \soprano }
	\context Voice = altos    {\voiceTwo \global \alto }
	                      >>
        
	\context Staff = lower <<
	\context Voice = tenors { \voiceOne \global \tenor }
	\context Voice = basses { \voiceTwo \global \bass }
			        >> 
			      

 >>
\layout {
		indent=0
		\context { \Score timing = ##f }
		\context { \Score \remove "Bar_number_engraver" }
		\context { \Staff \remove "Time_signature_engraver" }
		\context { \Score \remove "Mark_engraver"  }
                \context { \Staff \consists "Mark_engraver"  }
	}

} %%score bracket

\markup { \small {\hspace #34 "[" \italic "May be sung in unison throughout." "]" } }

\markup { \small { \hspace #26 \italic "This hymn is sometimes sung to " \hspace #-1.2 \smallCaps "St. Thomas"  \italic "(No. 623)."} }

%%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 }
\layout{
\context { \Staff
	\remove Time_signature_engraver
	\remove Key_engraver
	\remove Clef_engraver
	\remove Staff_symbol_engraver
}}}

\markup {  \hspace #2.4  %%add space as necc. to center the column
       \fill-line { 

          \column {
	%%next line is for attributions	  
	  \hspace #1
	  \line { \hspace #26 \small \italic {"C. Wesley (1758) and J. Cennick (1750)."}}
	  \hspace #0.2          
          \column {
		  \line { \hspace #2.2 \column { \lower #2.4 \fontsize #8 "L" }   %%Drop Cap goes here
			 \hspace #-2.0    %% adjust this if other letters are too far from Drop Cap
			\column  { \raise #0.0 "O! he comes with clouds descending," 
 	                                       "    Once for favoured sinners slain;"  } }          
	          \line { \hspace #2.7  %%adjust hspace until this line left edge is flush with Drop Cap
			\lower  #1.56  %%adjust this until the line spacing looks right
			\column {   
				"Thousand thousand Saints attending" 
				"    Swell the triumph of his train:" 
				"              Alleluya!" 
				"    God appears, on earth to reign." 
			  		}}
	           } %% finish stanza 1

	   \hspace #0.1 % adds vertical spacing between verses
           \line { "2  "
             \column {	     
		     "Every eye shall now behold him" 
		     "    Robed in dreadful majesty;" 
		     "Those who set at nought and sold him," 
		     "    Pierced and nailed him to the tree," 
		     "              Deeply wailing" 
		     "    Shall the true Messiah see."    
	   }}
	   \hspace #0.1 % adds vertical spacing between verses
           \line { "3  "
             \column {	     
		     "Those dear tokens of his passion" 
		     "    Still his dazzling body bears," 
		     "Cause of endless exultation" 
		     "    To his ransomed worshippers:" 
		     "              With what rapture" 
		     "    Gaze we on those glorious scars!" 	   
	   }}
	   \hspace #0.1 % adds vertical spacing between verses
           \line { \hspace #-10.9 \italic "Unison." "   4. "
             \column {    
		     "Yea, amen! let all adore thee," 
		     "    High on thine eternal throne;" 
		     "Saviour, take the power and glory:" 
		     "    Claim the kingdom for thine own:" 
		     "              O come quickly!" 
		     "    Alleluya! Come, Lord, come!" 
 	   }}
	  }
           }
} % stanza markup bracket	   


%%%%%%%%%%%%%%%% This next section of code is for
%%%%%%%%%%%%%%%% unfolding the repeats and generating the midi
%%%%%%%%%%%%%%%% Not needed for visual layout
                
\score { 
\new ChoirStaff 
<<

\new Staff = "soprano" {\relative c' {\clef treble \global  
  \unfoldRepeats  {   \repeat volta 2 { g'1 b2 ( d2 ) \bar "|" g,2 ( fis2 ) e2 ( d2 ) \bar "|" 
      e2. ( fis4 g2 ) fis4 ( e4 ) )\bar "|" d2. ( c4 ) b1 \bar "||" \break
  d1. d2 \bar "|" g1 \once \override NoteColumn #'force-hshift = #0.45 a1 \bar "|" 
      b2 ( d2 ) c2 ( b2 ) \bar "|" b1 ( a2 ) b2\rest } } \break
  a2. ( b4 a2 ) b2 \bar "|" c1 b1 \bar "|" 
      g2. ( a4 g2 ) c2 \bar "|" b2 ( a2 ) g1 \bar "|" b2. ( c4 b2 ) d2 \bar "|" \break
  c2 ( b2 ) \once \override NoteColumn #'force-hshift = #1.6 a1 \bar "||" g1. a4 ( b4 ) \bar "|" 
      d,1 c'1 \bar "|" b1 a1 \bar "|" g\breve \bar "||" 

}
}

\new Staff = "alto" {\relative c' {\clef treble \global  
  \unfoldRepeats {   \repeat volta 2 { d1 d1 \bar "|" b2 ( d2 ) c2 ( d2 ) \bar "|" 
      c2. ( d4 e2 ) d4 ( c4 ) \bar "|" a1 g1 \bar "||" 
  a1. d2 \bar "|" d1 e2 ( fis2 ) \bar "|" 
      g2 ( b2 ) a2 ( g2 ) \bar "|" g1 ( fis2 ) s2 } }
  fis2. ( g4 fis2 ) d2 \bar "|" e2 ( fis2 ) g1 \bar "|" 
      d1 ( e2 ) e2 \bar "|" g2 ( fis2 ) e1 \bar "|" e1. d2 \bar "|" 
  fis2 ( g2 ) g2 ( fis2 ) \bar "||" d1. d2 \bar "|" 
      \once \override NoteColumn #'force-hshift = #-0.02 d1 g1 \bar "|" g1 fis1 \bar "|" g\breve \bar "||" 

}	
}

\new Staff = "tenor" { \relative c {\clef bass \global 
  \unfoldRepeats {   \repeat volta 2 { b'1 b2 ( a2 ) \bar "|" g2 ( b2 ) g4 ( a4 b2 ) \bar "|" 
      g1. g2 \bar "|" fis1 g1 \bar "||" 
  fis2 ( g2 fis2 ) fis2 \bar "|" g1 c1 \bar "|" 
      b1 e1 \bar "|" d1. d,2\rest } }
  d'1. d2 \bar "|" c1 d1 \bar "|" 
      b2. ( a4 b2 ) c2 \bar "|" d2. ( c4 ) b1 \bar "|" g2. ( a4 g2 ) g2 \bar "|"  
  a2 ( b4 c4 ) d1 \bar "||" b1. b2 \bar "|" 
      a1 g2 ( a2 ) \bar "|" b2 ( c2 ) d2 ( c2 ) \bar "|" b\breve  \bar "||" 

} 
}

\new Staff = "bass" { \relative c { \clef bass \global  
  \unfoldRepeats {   \repeat volta 2 { g'1 g2 ( fis2 ) \bar "|" e2 ( b2 ) c2 ( g2 ) \bar "|" 
      c1. c2 \bar "|" d1 g,1 \bar "||" 
  d'2 ( e2 d2 ) c2 \bar "|" b1 a1 \bar "|" 
      g1 c1 \bar "|" d1. s2 } }
  d1. b2 \bar "|" a1 g1 \bar "|" 
      g'2. ( fis4 e2 ) a,2 \bar "|" b4 ( c4 d2 ) e1 \bar "|" \once \override NoteColumn #'force-hshift = #0.2 e1. b2 \bar "|" 
  a2 ( g2 ) d'1 \bar "||" g1. g2 \bar "|" fis1 \once \override NoteColumn #'force-hshift = #0.7 e1 \bar "|" d1 d1 \bar "|" g,\breve \bar "||"
}
}

>>

\midi { 
   \context {
       \Score 
       tempoWholesPerMinute = #(ly:make-moment 69 2)
            }
       }
} %% midi score bracket


%% Amen score block
\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'1 g1 \bar "||" }}
	\context Voice = "altos"    { \relative c' { \clef treble \global \voiceTwo e1 d1 \bar "||" }}
	                      >>
			  
	\context Lyrics \lyricsto "altos" { \override LyricText #'font-size = #-1 A -- men. }
	
	\context Staff = lower \with { fontSize = #-3  \override StaffSymbol #'staff-space = #(magstep -2) }
	                       <<
	\context Voice = "tenors" { \relative c { \clef bass \global \voiceThree c'1 b1 \bar "||" }}
	\context Voice = "basses" { \relative c { \clef bass \global \voiceFour  c1 g1 \bar "||" }}
			        >> 
  >>			      
\header { breakbefore = ##f piece = " " opus = " " }

\layout { 
	ragged-right = ##t
	indent = 15\cm
	\context { \Staff \remove Time_signature_engraver }

       }

\midi { \context { \Score tempoWholesPerMinute = #(ly:make-moment 69 2) }}  %%Amen midi 

} 	
	

} %% 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 Jkenny 09:46, 14 May 2007 (PDT)

  • Dot after Cennick (1760.) is inside the bracket. But this matches the image, and also that of the 1933 edition. Probably a typo.
  • Decided not to pull in and overlap the breves (8 beat notes) at the end as they looked very dense and awful when overlapped.
  • Breves have 2 vertical lines on each side. Lilypond's breve only has 1 vertical line on each side.

Comments by stygiania 15:03, 14 May 2007 (PDT)

  • Agree that (1760.) is a typo in the original.
  • Agree about not overlapping the breve. The original looks awful. This version is readable. Probably not worth trying to create a new symbol (or possibly call up an ancient one?) to get the two vertical lines on the breve. Wikipedia shows several acceptable styles for this.
  • Midi doesn't repeat the bars in the percent repeat but does repeat the first two systems as shown.

Comments by QMacrocarpa 19:42, 14 May 2007 (PDT):

  • Let's correct "(1750.)" to "(1750)." and bring it in line with other dates in parens.
  • I'd give the next-to-last line of each verse (the super-short one) another 4-space indent.
  • I think the repeat-ish symbols over the 3rd system are indicating the repetition of a line of the lyrics (the very short one), not a repeat of the measures of music, so MIDI is correct.
  • Hmm, I like the placement of the [May be sung in unison througout] text here immediately below the music (and before lyrics headers), maybe the piece I just cleared of Styg's (051.png) would look better arranged that way, instead of with the [May be sung in unison througout] text after the lyrics headers.... arg. Well, I guess 051.png might need editing for italic brackets anyway...?

Replies by Jkenny 20:20, 14 May 2007 (PDT)

  • Corrected (1750.) typo.
  • Super-short line, added 6 more spaces to bring indentation somewhat similar to the image.

Cleared and files uploaded. QMacrocarpa 14:17, 15 May 2007 (PDT)


Record of Work

    • Lily1 - done by QMacrocarpa (ABC). Strip out \" in lyrics once imported into Lilypond.
    • Lily2 - done by Jkenny 09:52, 14 May 2007 (PDT).
    • Lily3 - comments added by stygiania 15:06, 14 May 2007 (PDT)
- comments added by QMacrocarpa.
- fixed. Ready for Lily3 Cleared and uploaded.

QMacrocarpa 14:27, 15 May 2007 (PDT)

    • Reset fonts. Jkenny 05:29, 22 May 2007 (PDT)

Differences between Image and Lilypond

  • Corrected typo in attribution line of lyrics - period after (1750) put outside of parenthesis.
  • Lilypond breve notes only have 1 vertical line on each side.