The English Hymnal - Wiki Music Experiment/029

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.

Midi file here: midi file

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

%%% 029.png
%%% Hymn 1 Creator of the stars of night
%%% Version 4


\version "2.10"

\include "gregorian-init.ly"

\header {
  dedication = \markup { \center-align { \smallCaps "Part I" 
	  "THE CHRISTIAN YEAR - ADVENT"
		\hspace #0.1 }}	
  title = "1"
  arranger =  \markup { "Mode iv."}
  tagline =""
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%% Macros

%% macro settings for stemless long note which is 2x duration of regular white note (Here it only happens in the Amen block)    

ln = {\once \override NoteHead #'duration-log = #0 
           \once \override Stem #'stencil = ##f
           \once \override NoteColumn #'force-hshift = #0.4 }

%%%%%%%%%%%%%%%%%%%%%%%% End of Macro definitions

%%% plainsong voice

plainsong = \context VaticanaVoice  {  \relative c' { 
	\override Staff.Accidental  #'transparent = ##t
	\clef "vaticana-do2"
	\set fontSize = #3
	\override Staff.StaffSymbol #'staff-space = #1.6
  b2 g b d e e c d  \bar "|" d e c d  c b a b \bar "|"
  d  c a b c b a g  \bar "|" g b c d  c b a b \bar "||"
 
}}

%%% SATB voices

global = { 
 \time 8/2 
 \key ees \major
 \set Staff.midiInstrument = "church organ"
}

soprano = \relative c' { 
  \once \override Score.SeparationItem #'padding = #2
  g'2 ees g bes  c c aes bes \bar "|" \noBreak bes c aes bes aes g f g \bar "|" \break
  \once \override Score.SeparationItem #'padding = #4 
  bes aes f g aes g f ees    \bar "|" \noBreak ees g aes bes aes g f g \bar "||"
}

alto = \relative c' {
  d2 c c d ees ees ~ ees d      \bar "|" ees ees c d ees ees d ees  \bar "|"
  ees ees bes ees ees ees d c \bar "|" ees d c bes ees ees d d    \bar "||"
}

tenor = \relative c { \clef bass 
  bes'2 g ees f aes aes ~ aes f \bar "|" g g aes f c' bes1 ~ bes2   \bar "|"
  g aes bes bes c bes bes g   \bar "|" g g ees ees c' bes1 ~ bes2 \bar "||"
}

bass = \relative c { \clef bass
  g2 c c bes aes aes c bes    \bar "|" ees c f bes, c ees bes ees \bar "|"
  ees c d ees aes, ees' bes c \bar "|" c bes aes g aes ees' bes g \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 {	
  <<
 \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 (not needed in this piece except for the Amen)
  %% \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"
           }
     }
}
 
%%%This next score block generates the midi, exluding the plainsong voice.
\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 2) } }
   
} %%% midi score bracket


%%% Hymn Note markup

\markup { \hspace #52
	\override #'(line-width . 95) \center-align { 
		\line { \italic "If a modern tune is required for this hymn it may be sung to" \smallCaps "Angels' Song" "(" \hspace #-1 \italic "No." "259)" } 
                \line {\italic "or" \smallCaps "St. Ambrose" "(" \hspace #-1 \italic "No." "215)."} } }

%%% Lyric attributions and titles

\markup { \hspace #18 \small \smallCaps  "Office Hymn. E." \hspace #30 \italic "c. 7th cent.  Tr. J. M. Neale." }  
                                    
\markup { \hspace #40 \small "Conditor alme siderum." }
  

%%% Main lyric block

\markup { \hspace #30 %%add space as necc. to center the column
          \column { %%% one super column for the entire block of lyrics
	                 \column { %%verse 1 is a column of 2 lines  
	                  \line { \hspace #2.2 \column { \lower #2.4 \fontsize #8 "C" }   %%Drop Cap goes here
				  \hspace #-1.0    %% adjust this if other letters are too far from Drop Cap
				  \column  { \raise #0.0 "REATOR of the stars of night,"
			                                "  Thy people's everlasting light," } }  
	                  \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 {   
						"Jesu, Redeemer, save us all,"
			 			"And hear thy servants when they call."
			  		}} 
			         } %%% finish verse 1	
			\hspace #1 
           		\line { "2  "
			   \column {	     
				    "Thou, grieving that the ancient curse"
				    "Should doom to death a universe,"
				    "Hast found the medicine, full of grace,"
				    "To save and heal a ruined race."
			}}

    }	%%% end super column  
}  

%%% 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 { 
			\hspace #1 
			\line { "3  "
				\column {
				    "Thou cam'st, the Bridegroom of the bride,"
				    "As drew the world to evening-tide;"
				    "Proceeding from a virgin shrine,"
				    "The spotless Victim all divine:"
			}}	
			\hspace #1 
           		\line { "4  "
				\column {
				  "At whose dread name, majestic now,"
				  "All knees must bend, all hearts must bow;"
				  "And things celestial thee shall own,"
				  "And things terrestrial, Lord alone."
			}}
			\hspace #1 
           		\line { "5  "
				\column {
				  "O thou whose coming is with dread"
				  "To judge and doom the quick and dead,"
				  "Preserve us, while we dwell below,"
				  "From every insult of the foe."
			}}
			\hspace #1 
           		\line { "6.  "	     
				\column {
				  "To God the Father, God the Son,"
				  "And God the Spirit, Three in One,"
				  "Laud, honour, might, and glory be"
				  "From age to age eternally.     Amen."
			}} 

	  }
} %%% lyric markup bracket

%%% Amen score block
%%% Note the beamed 1/2 notes. These are reproduced by using quavers with tails suppressed and noteheads replaced.

\score {  	
  <<
    <<
  \new VaticanaStaff <<
  \context VaticanaVoice = "plainsongamen"  {  \relative c { 	  
	\set Score.timing = ##f
	\override Staff.Clef #'#'font-size = #3
	\clef "vaticana-do2"
	\set fontSize = #3
	\override Staff.StaffSymbol #'staff-space = #1.6
	 
        \[ b'8 \pes c8 \]   \[
	    \override NoteHead #'extra-offset = #'(0.0 . -0.1 ) b8 
            \override NoteHead #'extra-offset = #'(-0.38 . 0.0 ) \flexa  a8 \pes 
            \override NoteHead #'extra-offset = #'(0.02 . 0.05) b8 \] }} 
                    >> 
 \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[ aes] g8[ f8 g8] \bar "||" }}
	\context Voice = "altos"    { \relative c' { 
	                                              \global
	                                              \voiceTwo  \ln ees4 ees8[ d d] \bar "||" }}
	                      >>
	\context Staff = lower \with { fontSize = #-3  \override StaffSymbol #'staff-space = #(magstep -2) } 
	                      <<
	\context Voice = "tenors" { \relative c { 
		                                  \clef bass  \global
	                                          \voiceThree  \ln c'4  \ln bes4. \bar "||" }}
	\context Voice = "basses" { \relative c { 
	                                          \clef bass  \global
						  \voiceFour c8[ aes8] ees'8[ bes8 g8] \bar "||" }}
			        >> 
   >>
  \context Lyrics = "lyrics" \lyricsto "tenors" { \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[ aes] g8[ f8 g8] \bar "||" }}
	\context Voice = "altos"    { \relative c' { 
	                                              \global
	                                              \voiceTwo  \ln ees4 ees8[ d d] \bar "||" }}
	                      >>
	\context Staff = lower \with { fontSize = #-3  \override StaffSymbol #'staff-space = #(magstep -2) } 
	                      <<
	\context Voice = "tenors" { \relative c { 
		                                  \clef bass  \global
	                                          \voiceThree  \ln c'4  \ln bes4. \bar "||" }}
	\context Voice = "basses" { \relative c { 
	                                          \clef bass  \global
						  \voiceFour c8[ aes8] 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 Jkenny 09:38, 12 May 2007 (PDT)

  • Please comment especially on size of Amen staff group. The plainsong square notes too small? Ligatures barely visible? That is actually similar to the default size of the Vaitcana staff type in Lilypond. For the main tune I have enlarged the plainsong staff. However in the Amen block, if I do that, this causes the ligatures to go crazy - especially that one that looks like a diagonal sash. I have managed to debug it now, so I can enlarge the staff if needed. But still perfecting techniques -- plainsong is not ready for mass production yet.
  • One other thing to think about is the system-start delimiter bar. In the main tune, this has been removed. In the Amen, I left it in (we've been leaving it in for our non-plain song pieces because Dani wanted it that way).

But does it look odd now, that the thin bar seems to cut through the choirstaff brace in order to join up to the plainsong staff?

Notes by --stygiania 11:49, 12 May 2007 (PDT):

  • Size looks fine when printed (see forum post).
  • I think the plainsong line looks "naked" without the system-start delimiter bar.
  • I believe the plainsong is in the key of C and the choir/organ parts are written in Eb (see forum post).
  • The second note of the plainsong should be g not e.
  • The "sash" in the Amen appears to dip down too far--should be b-a-b but looks like b-g-b when printed.
  • Third verse, third line should have a comma instead of period after "shrine".

Comments by --QMacrocarpa 15:59, 12 May 2007 (PDT):

  • I'm trying out the Lily-source for L3 review workflow! :)
  • Looks odd to me to have no vertical at left edge of plainsong staff. Prefer handling in Amen block.
  • I agree part of Amen ligature appears too low. To me it looks like a-g-b instead of b-a-b.
  • There is a missing tie between last two notes of alto in Amen block.
  • MIDI seems very slow--I got the sense from the section on plainsong in the preface (see bottom of 020.png and top of 021.png especially) that the intention is for the plainsong melodies to be fairly brisk. It's unfortunate that they didn't provide any more definite tempo-clues, I think they didn't want to interfere with the idea of plainsong being in basically a free rhythm. But Dani seems to know about plainsong-- maybe he could suggest a reasonable "generic plainsong tempo" for us to use.
  • No Amen MIDI yet?

Notes by Jkenny 05:40, 15 May 2007 (PDT)

  • fixed issues above.
  • Tempo set to 2=80, a moderate pace.
  • When compiling the code, you will see warnings like: "programming error: adding reverse spring, setting to unit"
  • Don't worry about this. This is normal and happens every time vaticana ligatures are used. It has been mentioned in the Lilypond mailing list. It does not cause any problems, and it does not seem to affect the output of the PDF.

Comments by QMacrocarpa 13:44, 15 May 2007 (PDT):

  • This is looking good!
  • My sole remaining quibble is with that last plainsong symbol for the three final notes in the Amen block. The diagonal looks pretty straight in the original, much curvier in the PDF. This may contribute to another issue, the way the bit of white-space between the diagonal and the square of the final note is obscured in the PDF (that may be partly due to the diagonal being a bit wider, too). Is it feasible to have the diagonal be straighter and perhaps narrower?

Reply by Jkenny 20:33, 15 May 2007 (PDT)

  • I can't really adjust the configuration of the sash (without a major kludge - such as replacing the notehead glyph with a custom designed graphic).
  • What I did was to enlarge the plainsong amen staff slightly, (in the image I notice the plainsong amen is larger than the normal SATB staffs) and move the sash down slightly so that the square of the final note is more visibly separate.
  • Mercifully, there are not too many of these sash type ligatures - mainly in the Amen s, and usually only when there are 3 1/8 notes beamed together.
  • Also moved Amen lyric up - I had put it in the wrong place. It should be between the plainsong staff and the SATB staff group.

Addition by stygiania 20:38, 15 May 2007 (PDT)

  • I think this is the best we'll be able to get with this particular notation. It has clearly been moved up to the correct place.
  • Lily3 cleared, filed uploaded.


Record of Work

    • Lily1 - done by --stygiania 21:13, 11 May 2007 (PDT) midi
    • Lily2 - done by Jkenny 09:42, 12 May 2007 (PDT). Preliminary comments requested.
    • Lily3 - comments added --stygiania 11:51, 12 May 2007 (PDT)
- comments added --QMacrocarpa 16:02, 12 May 2007 (PDT)
- Okay I think I've fixed most of the plainsong issues. Jkenny 05:33, 15 May 2007 (PDT)
- One last comment from Q.
- adjusted "sash", (within limitations)
Lily3 cleared stygiania 20:46, 15 May 2007 (PDT)
    • Edited and uploaded version 4. This involved including more comments, and updating to the latest coding style (paper block and font settings) as well as pagination. Music and lyrics were not touched. Jkenny 20:45, 30 July 2007 (PDT)