The English Hymnal - Wiki Music Experiment/034

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, 034.png
%%% Format=ABC
%%% No meter in original.

X: 6
T: LUTHER'S HYMN (NUN FREUT EUCH). (8 7. 8 7. 8 8 7.)
C: Present form of melody by Martin Luther, 1483-1546.
M: 4/2
L: 1/2
Q: 1/2=50.
K: G
V:1 staves=4
%%MIDI transpose 0
|: G | G B A G | A A HB || G | B c d B |
A2 HG :|| B | c B A G | F G HA || B | G F G D |
G A HB || G | B c d B | A2 HG ||
%
V:2
%%MIDI transpose 0
|: D | D G F G | G F HG || D | D G F G |
(G F) HG :|| G | G G F E | ^D E HF || =D | D C D D |
B, E H^D || E | F E D G | (G F) HG ||
%
V:3 clef=bass
%%MIDI transpose -24
|: b | g d' d' b | e' d' Hd' || b | d' g a g |
(e' d'/2 c'/2) Hb :|| d' | e' d' d' b | b b H=d' || d' | b c' b (b/2 a/2)|
g e Hf || g | f g d' e' | (e' d'/2 c'/2) Hb ||
%
V:4 clef=bass
%%MIDI transpose -24
|: G | B G d e | c d HG || g | g e d e |
(c d) HG :|| g | e g d e | B e Hd || g | b a g (g/2 f/2) |
(e/2 d/2) c HB || e | d c B (e/2 d/2) | (c d) HG ||
%
W: "Anon. (1892), W. B. Collyer (1812), T Cotterill (1819), and others.
W: "
W: "Great God, what do I see and hear!
W: "    The end of things created:
W: "The Judge of mankind doth appear,
W: "    On clouds of glory seated;
W: "The trumpet sounds, the graves restore
W: "The dead which they contained before:
W: "    Prepare, my soul, to meet him!
W: "
W: "The dead in Christ shall first arise
W: "    At that last trumpet's sounding,
W: "Caught up to meet him in the skies,
W: "    With joy their Lord surrounding;
W: "No gloomy fears their souls dismay;
W: "His presence sheds eternal day
W: "    On those prepared to meet him.
W: "
W: "The ungodly, filled with guilty fears,
W: "    Behold his wrath prevailing;
W: "For they shall rise, and find their tears
W: "    And sighs are unavailing:
W: "The day of grace is past and gone;
W: "Trembling they stand before his throne,
W: "    All unprepared to meet him.
W: "
W: "Great Judge, to thee our prayers we pour,
W: "    In deep abasement bending;
W: "O shield us through that last dread hour,
W: "    Thy wondrous love extending.
W: "May we, in this our trial day,
W: "With faithful hearts thy word obey,
W: "    And thus prepare to meet thee.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% The English Hymnal, 034.png
%%% Format=ABC
%%% Amen only.

X: 7
T: 
C: 
M: 4/2
L: 1/2
Q: 1/2=60
K: G
V:1 staves=4
%%MIDI transpose 0
G2 G2 ||
%
V:2
%%MIDI transpose 0
E2 D2 ||
w: A-men.
%
V:3 clef=bass
%%MIDI transpose -24
c'2 b2 ||
%
V:4 clef=bass
%%MIDI transpose -24
c2 G2 ||

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

%%% 034.png
%%% Hymn 4 Luther's Hymn "Great God what do I see and hear!"
%%% Version 2  034png-H4-v2.ly Reset fonts

\version "2.10"

\header {
 dedication = \markup { \center-align { "THE CHRISTIAN YEAR - ADVENT"
		\hspace #0.1 }}	
 title = "4"
 meter = \markup { \column {  \line { \small \sans "LUTHER'S HYMN  (NUN FREUT"} 
		              \line { \hspace #2 \small \sans  "EUCH).  (8 7. 8 7. 8 8 7.)" } 
			      \line { \small { \italic "Slow" \fontsize #-5 \general-align #Y #DOWN \note #"2" #1 "= 50." } } }}
 arranger = \markup { \center-align { \hspace #0.2 %insert blank line
		         \line { \small \italic "Present form of melody by"  }
			 \line { \small \smallCaps "Martin Luther, 1483-1546." } }}
 tagline =""
}


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

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

%%generates the breathmarks which are placed on top of barlines
breathmark = {	
	      \override Score.RehearsalMark #'break-visibility = #begin-of-line-invisible 
	      \override Score.RehearsalMark #'Y-offset = #'4.0 
	      \override Score.RehearsalMark #'X-offset = #'-0.5
	      \mark \markup { \fontsize #4 ","}
}	      

%%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 "|:"}
	
%%%%%%%%%%%%%%%%%%%%%%%%%%end of macro definitions


soprano = \relative c' { 
  \partial 2 \fdstartrepeat g'2 \bar "|" g2 b2 a2 g2 \bar "|" a2 a2  b2 ^\fermata \bar "||" 
      g2 \bar "|" b2 c2 d2 b2 \bar "|" \break
  \once \override NoteColumn #'force-hshift = #2 a1 g2 ^\fermata \fdendrepeat  b2 \bar "|" c2 b2 a2 g2 \bar "|" 
      fis2 g2 a2 ^\fermata \bar "||" b2 \bar "|" g2 fis2 g2 d2 \bar "|" \break
  g2 a2 b2 ^\fermata \bar "||" g2 \bar "|" 
      b2 c2 d2 b2 \bar "|" \once \override NoteColumn #'force-hshift = #2  a1 g2 ^\fermata \bar "||" 
}

alto = \relative c' {
   d2 \bar "|" d2 g2 fis2 g2 \bar "|" g2 fis2  g2  \bar "||" 
      d2 \bar "|" d2 g2 fis2 g2 \bar "|" 
  g2 ( fis2 ) g2 \breathmark \fdendrepeat     g2 \bar "|" g2 g2 fis2 e2 \bar "|" 
      dis2 e2 fis2  \bar "||" d!2 \bar "|" d2 c2 d2 d2 \bar "|" 
  b2 e2 dis2  \bar "||" e2 \bar "|" 
    fis2 e2 d2 g2 \bar "|" g2 ( fis2 ) g2  \bar "||" 
}

tenor = \relative c { \clef bass
   \fdstartrepeat b'2 \bar "|" g2 d'2 d2 b2 \bar "|" e2 d2  d2  \bar "||" 
      b2 \bar "|" d2 g,2 a2 g2 \bar "|" 
  e'2 ( d4 c4 ) b2 \fdendrepeat d2 \bar "|" e2 d2 d2 b2 \bar "|" 
      b2 b2 d!2  \bar "||" d2 \bar "|" b2 c2 b2 b4 ( a4 ) \bar "|" 
  g2 e2 fis2  \bar "||" g2 \bar "|" 
      fis2 g2 d'2 e2 \bar "|" e2 ( d4 c4 ) b2  \bar "||" 
}

bass = \relative c { \clef bass
   g2 \bar "|" b2 g2 d'2 e2 \bar "|" c2 d2  g,2 _\fermata \bar "||" 
      g'2 \bar "|" g2 e2 d2 e2 \bar "|" 
  c2 ( d2 ) g,2 _\fermata  \fdendrepeat  g'2 \bar "|" e2 g2 d2 e2 \bar "|" 
      b2 e2 d2 _\fermata \bar "||" g2 \bar "|" b2 a2 g2 g4 ( fis4 ) \bar "|" 
  e4 ( d4 ) c2 b2 _\fermata \bar "||" e2 \bar "|" 
     d2 c2 b2 e4 ( d4 ) \bar "|" c2 ( d2 ) g,2 _\fermata \bar "||" 
}

global = {
  \time 4/2 
  \key g \major 
}

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

\paper {
 #(set-paper-size "a4")
 between-system-padding = 0\mm
 before-title-space = 0\mm
 after-title-space = 1\mm
 top-margin = 1\mm
 bottom-margin = 1\mm
 print-page-number = ##f
 between-system-space = #2
 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 = ##t }
		\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 {  \hspace #16  %%add space as necc. to center the column
       \fill-line { 

          \column {
	%%next line is for attributions	  
	  \hspace #1
	  \line { \hspace #10 \small \italic {Anon. (1802), W. B. Collyer (1812), T. Cotterill (1819), and others.}}
	  \line { \hspace #2 \small \italic "Unison."}        
          \column {
		  \line { \hspace #2.2 \column { \lower #2.4 \fontsize #8 " G" }   %%Drop Cap goes here
			 \hspace #-1.0    %% adjust this if other letters are too far from Drop Cap
			\column  { \raise #0.0 "REAT God, what do I see and hear!" " The end of things created:"} }          
	          \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 {   
				"The Judge of mankind doth appear," 
				"    On clouds of glory seated;" 
				"The trumpet sounds, the graves restore" 
				"The dead which they contained before:" 
				"    Prepare, my soul, to meet him!"
			  		}}
	           } %% finish stanza 1

	   \hspace #0.1 % adds vertical spacing between verses
           \line { "2  "
             \column {	     
			 "The dead in Christ shall first arise" 
			 "    At that last trumpet's sounding," 
			 "Caught up to meet him in the skies," 
			 "    With joy their Lord surrounding;" 
			 "No gloomy fears their souls dismay;" 
			 "His presence sheds eternal day" 
			 "    On those prepared to meet him."  
	   }}	   
  } %% fill-line bracket
 }  %% column-bracket
} %% markup bracket
	   
%%fake score block to occupy space and force a pagebreak.  Can't think of a better way of doing this.
\score{
{ s4 }
\header { breakbefore = ##t piece = " " opus = " " }
\layout{
\context { \Staff
\remove Time_signature_engraver
\remove Key_engraver
\remove Clef_engraver
\remove Staff_symbol_engraver
}}}
	
%%second page	

\markup { \hspace #0.6   %%add space as necc. to center the column  
	 \fill-line { 
           \column {
            \line { "3  "
             \column { 
			 "The ungodly, filled with guilty fears," 
			 "    Behold his wrath prevailing;" 
			 "For they shall rise, and find their tears" 
			 "    And sighs are unavailing:" 
			 "The day of grace is past and gone;" 
			 "Trembling they stand before his throne," 
			 "    All unprepared to meet him."   
	   }}
	  \hspace #0.1 % adds vertical spacing between verses   
          \line { "4. "
             \column {	     
			 "Great Judge, to thee our prayers we pour," 
			 "    In deep abasement bending;" 
			 "O shield us through that last dread hour," 
			 "    Thy wondrous love extending." 
			 "May we, in this our trial day," 
			 "With faithful hearts thy word obey," 
			 "    And thus prepare to meet thee." 
	   }} 
	  }
    }	  
}

%%%%%%%%%%%%%%%% 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  \set Staff.midiInstrument = "church organ"
  \unfoldRepeats  {\partial 2 \repeat volta 2 { g'2 \bar "|" g2 b2 a2 g2 \bar "|" a2 a2   b2 ^\fermata \bar "||" 
       g2 \bar "|" b2 c2 d2 b2 \bar "|" \break
  a1  g2 ^\fermata } }\bar "|"b2 \bar "|" c2 b2 a2 g2 \bar "|" 
      fis2 g2  a2 ^\fermata \bar "||" b2 \bar "|" g2 fis2 g2 d2 \bar "|" \break
  g2 a2  b2 ^\fermata \bar "||" g2 \bar "|" 
      b2 c2 d2 b2 \bar "|" a1  g2 ^\fermata \bar "||" 
}
}

\new Staff = "alto" {\relative c' {\clef treble \global  \set Staff.midiInstrument = "church organ"
  \unfoldRepeats {\repeat volta 2 { d2 \bar "|" d2 g2 fis2 g2 \bar "|" g2 fis2   g2 _\fermata \bar "||" 
      d2 \bar "|" d2 g2 fis2 g2 \bar "|" 
  g2 ( fis2 )  g2 _\fermata } } \bar "|"g2 \bar "|" g2 g2 fis2 e2 \bar "|" 
      dis2 e2  fis2 _\fermata \bar "||" d!2 \bar "|" d2 c2 d2 d2 \bar "|" 
  b2 e2  dis2 _\fermata \bar "||" e2 \bar "|" 
    fis2 e2 d2 g2 \bar "|" g2 ( fis2 )  g2 _\fermata \bar "||" 
}	
}

\new Staff = "tenor" { \relative c {\clef bass \global  \set Staff.midiInstrument = "church organ"
  \unfoldRepeats {\repeat volta 2 { b'2 \bar "|" g2 d'2 d2 b2 \bar "|" e2 d2   d2 ^\fermata \bar "||" 
       b2 \bar "|" d2 g,2 a2 g2 \bar "|" 
  e'2 ( d4 c4 )  b2 ^\fermata } } \bar "|"d2 \bar "|" e2 d2 d2 b2 \bar "|" 
      b2 b2  d!2 ^\fermata \bar "||" d2 \bar "|" b2 c2 b2 b4 ( a4 ) \bar "|" 
  g2 e2  fis2 ^\fermata \bar "||" g2 \bar "|" 
      fis2 g2 d'2 e2 \bar "|" e2 ( d4 c4 )  b2 ^\fermata \bar "||"
} 
}


\new Staff = "bass" { \relative c { \clef bass \global  \set Staff.midiInstrument = "church organ"
  \unfoldRepeats {\repeat volta 2 { g2 \bar "|" b2 g2 d'2 e2 \bar "|" c2 d2   g,2 _\fermata \bar "||" 
       g'2 \bar "|" g2 e2 d2 e2 \bar "|" 
  c2 ( d2 )  g,2 _\fermata } } \bar "|"g'2 \bar "|" e2 g2 d2 e2 \bar "|" 
      b2 e2  d2 _\fermata \bar "||" g2 \bar "|" b2 a2 g2 g4 ( fis4 ) \bar "|" 
  e4 ( d4 ) c2  b2 _\fermata \bar "||" e2 \bar "|" 
     d2 c2 b2 e4 ( d4 ) \bar "|" c2 ( d2 )   g,2 _\fermata \bar "||"  
}
}


>>

\midi { 
   \context {
       \Score 
       tempoWholesPerMinute = #(ly:make-moment 50 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' { \set Staff.midiInstrument = "church organ"
	                              \clef treble \global \voiceOne g'1 g1 \bar "||" }}
	\context Voice = "altos"    { \relative c' { \set Staff.midiInstrument = "church organ"
	                              \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 { \set Staff.midiInstrument = "church organ"
	                                          \clef bass \global \voiceThree c'1 b1 \bar "||" }}
	\context Voice = "basses" { \relative c { \set Staff.midiInstrument = "church organ"
	                                          \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 50 2) }}  %%Amen midi 

} 	


} %% book bracket

Lily3

We are trying out a new workflow where L3 grabs the code, compiles and checks. After clearance, L# 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 02:28, 13 May 2007 (PDT)

  • Lilypond midi does not interpret fermata! The absence of a fermata was very obvious here. So I tried a new tweak. This involves temproarily slowing the tempo of the music when the fermata note is being played, so that it would be played longer and would sound like it is being held. The normal tempo of this piece is 2=50. I tried a fermata note at 2=25 (in effect, doubling the note duration), but this seemed too long, so I went for 2=38, which is like 1.5 times longer than a normal 1/2 note. You can find this tweak in the macro section of the code and you can adjust the tempo settings to taste.

Comments added by QMacrocarpa 12:18, 13 May 2007 (PDT):

  • In lyrics attribution line, T. Cotterill missing period after T
  • MIDI sections in reversed order from usual in source? hymn.midi = Amen, hymn-1.midi = main hymn? Would be handy to have consistency for smooth-listening and uploading final versions, but not huge deal.
  • I hesitate to mention this, because I don't really want to add more Lilypond tweaks, but some of the note stems in last system of bass part seem slightly odd the way they are of noticeably different lengths on adjacent notes. No biggie, just had to get it off my chest!
  • I'm not too sure about the fermatas. I hope it's not setting a precedent to require the extra work from L2 and double the size of the code with a special fermata-enabled section of Lily on every piece with fermatas.... But if you really want to use them in this particular piece, I would go with 2=25. The 2=38 fermata tempo leaves me feeling rhythmically unbalanced after each fermata.

Comments added by stygiania 13:10, 13 May 2007 (PDT)

  • I don't think the fermata is necessary in the midi. The length would normally be at the discretion of either the conductor or a soloist so we'll never please everyone with the code.
  • I agree that the order of the midis should be consistent.
  • Stem lengths don't bother me. Looks like the system might automatically truncate them so they don't interfere with another line.
  • Other than the "T. Cotterill" (mentioned by Q), no other problems.

Replies Jkenny 20:05, 13 May 2007 (PDT)

  • Fixed "T. Cotterill" -- looks like you found another P3 error!
  • Removed the fermata tweak.
  • Order of midis is a consequence of which midi block comes first. Fixed order by moving the score midi block ahead of the Amen block.
  • Stem lengths - a strange problem. It does look like Lilypond is trying to "mow the lawn" and get all the stems end at the same height. I tried increasing system spacing, and even moving the fermatas up but nothing changed. So in the end, I decided to leave it alone, in case I change too many things and cause other code problems.

Lily3 Cleared, files uploaded stygiania 20:22, 13 May 2007 (PDT)


Record of Work

    • Lily1 - done by QMacrocarpa (ABC). Strip out \" in lyrics once imported into Lilypond.
    • Lily2 - done by Jkenny 02:48, 13 May 2007 (PDT). Trying out new workflow.
    • Lily3 - comments added by QMacrocarpa.
- comments added stygiania 13:10, 13 May 2007 (PDT)
- fixed. Jkenny 20:09, 13 May 2007 (PDT)

Lily3 cleared stygiania 20:25, 13 May 2007 (PDT)

Fixed a couple broken links on Completed Files page--QMacrocarpa 12:54, 14 May 2007 (PDT)
    • Reset font sizes to Proposal 3 conventions. Jkenny 21:26, 20 May 2007 (PDT)