Erde, singe

Zur Navigation springen Zur Suche springen


Lilypond-Code

\version "2.20.0"
\language "deutsch"
myTitel = "Erde, singe"
mycomp=\markup \line \fontsize #0 {
  "M: Köln 1741"
}

#(use-modules (scm accreg))
myBlue = #(x11-color 'sienna4)

make-midi-list =
#(define-void-function (name score tempolist)
   ((string? #f) ly:score? list?)
   (for-each
    (lambda (tempo)
      (ly:book-process
       (apply
        ly:make-book
        $defaultpaper
        $defaultheader
        (list score))
       $defaultpaper
       #{
         \midi {
           \tempo 4. = $tempo
         }
       #}
       (format #f "~a_~a"
         (or name "midi")
         tempo)))
    tempolist))

#(define ((chord-name->german-markup-text-alteration B-instead-of-Bb) pitch lowercase?)

   (define (pitch-alteration-semitones pitch)
     (inexact->exact (round (* (ly:pitch-alteration pitch) 2))))

   (define (conditional-string-downcase str condition)
     (if condition
         (string-downcase str)
         str))

   (let* ((name (ly:pitch-notename pitch))
          (alt-semitones  (pitch-alteration-semitones pitch))
          (n-a (if (member (cons name alt-semitones) `((6 . -1) (6 . -1)))
                   (cons 7 (+ (if B-instead-of-Bb 1 1) alt-semitones))
                   (cons name alt-semitones))))
     (make-line-markup
      (list
       (make-simple-markup
        (conditional-string-downcase
         (vector-ref #("C" "D" "E" "F" "G" "A" "H" "B") (car n-a))
         lowercase?))
       (let ((alteration (/ (cdr n-a) 2)))
         (cond
          ((and (equal? lowercase? #f) (= alteration FLAT) (= (car n-a) 7)) (make-simple-markup ""))
          ((and (= alteration FLAT) (or (= (car n-a) 5) (= (car n-a) 2) )) (make-simple-markup "s"))
          ((= alteration FLAT) (make-simple-markup "es"))
          ((and (= alteration DOUBLE-FLAT) (or (= (car n-a) 5)(= (car n-a) 2) )) (make-simple-markup "ses"))
          ((= alteration DOUBLE-FLAT) (make-simple-markup "eses"))
          ((= alteration SHARP) (make-simple-markup "is"))
          ((= alteration DOUBLE-SHARP) (make-simple-markup "isis"))
          (else empty-markup)))))))

#(define germanChords (chord-name->german-markup-text-alteration #t))

\layout {
  \context {
    \Voice
    beamExceptions = #'()
    \override BreathingSign.text =
    \markup { \musicglyph #"scripts.lvarcomma" }
    \override Stem.neutral-direction = #down
    \override Script.outside-staff-priority = #'()
    \override Script.padding = #1
    \override Tie.thickness = #1
    \override PhrasingSlur.thickness = #3
    \override Rest.voiced-position = #0
    \override MultiMeasureRest.expand-limit = #3
  }
  \context {
    \Staff
    printPartCombineTexts = ##f
    beamExceptions = #'()
    \override BreathingSign.text =
    \markup { \musicglyph #"scripts.lvarcomma" }
    \override InstrumentName.font-features = #'("smcp")
  }
  \context {
    \Score
    \override VerticalAxisGroup.remove-first = ##t
    skipBars = ##f
    \override MetronomeMark.font-size = #1
    \override MetronomeMark.font-shape = #'caps
    \override BarLine.thick-thickness = 5
    barNumberVisibility = #all-bar-numbers-visible
    \override Timing.beamExceptions = #'()
    \override BarNumber.color = #(rgb-color 0.7 0.7 0.7)
    \override BarNumber.layer = #-200
    \override BarNumber.outside-staff-priority =#'()
    \override BarNumber.padding = #1
    \override BarNumber.font-size = #-1
    \override BarNumber.font-series = #'bold
    \override BarNumber.self-alignment-X = #0
    \override BarNumber.break-visibility = #end-of-line-invisible
  }
  \context {
    \Dynamics
    \override Hairpin.to-barline = ##f
    alignBelowContext = melodie
    \override TextSpanner.outside-staff-priority = ##f
    \override TextSpanner.padding = #'()
    \override DynamicText.outside-staff-priority = ##f
    \override DynamicText.padding = #4
  }
  \context {
    \ChordNames
    chordNameLowercaseMinor = ##f
    \remove Staff_performer
    chordRootNamer = #germanChords
    \override ChordName.font-name = #"Orator10 BT"
    chordNoteNamer = #(chord-name->german-markup #f)
    \override ChordName.X-offset =
    #ly:self-alignment-interface::aligned-on-x-parent
    \override ChordName.self-alignment-X = #CENTER
    \override ChordName.font-name = #"Arial Narrow"
    \override ChordName.layer = #2
    \override ChordName.font-size = #-0.5
    noChordSymbol = ##f
  }
}

sop = \relative c' {
  \time 3/4
  \key f \major
  \override Slur.details.max-slope = #1
  \override Slur.minimum-length = 3
  \repeat volta 2 {
    f4 ( a ) c
    d c r
    f, ( g ) a b a r
    g ( e ) a
    g ( h ) c
    g ( c ) h c2 r4
  }
  \repeat unfold 2 {
    c8 ( b a4 ) g f2 f4
    b2 b4 b4 a r
  }
  f2 c4 g'2 c,4 a'2 f4 b2 r4
  a8 ( b c4 ) e, f2 r4
  \bar "|."
}

alt = \relative c' {
  \repeat volta 2 {
    c2 f4
    f2 s4
    c4 e c
    g' f s
    c2.
    e4 d e
    e2 g4
    e2 s4
  }
  \repeat unfold 2 {
    a8 g f4 e
    d2 c4
    d2 e4
    g f s
  }
  a,2. b c
  d2 s4
  c2. a2
}

ten = \relative c' {
  \key f \major
  \repeat volta 2 {
    a2 c4
    d c r
    a c a
    c2 r4
    g2 f4
    g2. g ~
    g2 r4
  }
  \repeat unfold 2 {
    f2 b4
    a2. b
    c2 r4
  }
  f,2.
  e4 f g
  a2. b2 r4
  f a g
  f2 r4
}

bas = \relative c {
  \repeat volta 2 {
    \clef bass
    f2. ~ f2 s4
    f e f
    e f s
    b,2 c4
    c h c
    c2 d4
    c2 s4
  }
  \repeat unfold 2 {
    c2.
    d2 f4
    g2.
    f2 s4
  }
  c2.
  c4 d e
  f2 es4
  f e d
  c2 b4
  c2
}

Akk=
\chordmode {
  f2. b4 f2
  f4 c:7 f
  c:7 f s
  c:7 s f
  c g:7 c
  c s g:7
  c2.
  \repeat unfold 2 {
    f2 c4:7
    d2:m f4
    g2:m c4:7
    f2.
  }
  f
  c:7
  f2 f4:7
  b2.
}

Struktur =
{
  \override Score.NonMusicalPaperColumn.page-break-permission = ##f
  \override PianoStaff.VerticalAxisGroup.staff-staff-spacing =
  #'((basic-distance . 12)
     (padding . 4))
  \repeat unfold 2 { s2. * 4 \break }
}

lyr = \lyricmode {
  \set stanza = #"1."
  Er -- de sin -- ge, dass es klin -- ge,
  laut und stark dein Ju -- bel -- lied.
  Singt ein Lob -- lied eu -- rem Meis -- ter,
  preist ihn laut, ihr Him -- mels -- geis -- ter!
  Was er schuf, was er ge -- baut,
  preis ihn laut!
}

lyrii = \lyricmode {
  Him -- mel al -- le,
  singt zum Schal -- le
  die -- ses Lie -- des jauch -- zend mit!

}

kopf=\header {
  title = \myTitel
  subtitle = ##f
  subsubtitle = ##f
  poet = "T: Johannes von Geissel (1796-1864)"
  composer = \markup { #mycomp }
  piece = "Notensatz: lilypond.miraheze.org"
}

\paper {
  top-margin = 25\mm
  ragged-right = ##f
  ragged-last = ##f
  ragged-bottom = ##f
  ragged-last-bottom = ##t
  bottom-margin = 25\mm
  indent = #0
  line-width = 170\mm
  print-all-headers = ##f
  #(include-special-characters)
  print-first-page-number = ##t
  first-page-number = #1
  oddFooterMarkup = ##f
  evenFooterMarkup = ##f
  oddHeaderMarkup = #oddFooterMarkup
  evenHeaderMarkup = #evenFooterMarkup
  markup-system-spacing.padding = #6
  system-system-spacing.padding = #6 
}

zz=
\bookpart {
  \kopf
  \score
  {
    <<
      \new ChordNames \Akk
      \new PianoStaff="leadsheet"
      <<
        \new Staff="Discant"
        <<
          \new Voice="Alt" { \voiceOne \sop }
          \new Voice { \voiceTwo \alt }
        >>
        \new Lyrics \lyricsto Alt \lyr
        \new Lyrics \lyricsto Alt \lyrii
        \new Staff="Bass"
        <<
          \new Voice { \voiceOne \ten }
          \new Voice { \voiceTwo \bas }
          \new NullVoice \Struktur
        >>
      >>
    >>
  }
}

\include "articulate.ly"

alle =
\score {
  \new StaffGroup
  \unfoldRepeats
  <<
    \new Staff {
      \new Voice {
        \set Staff.midiInstrument = "Church Organ"
        \sop
      }
    }
    \new Staff {
      \new Voice {
        \set Staff.midiInstrument = "Church Organ"
        \alt
      }
    }
    \new Staff {
      \new Voice {
        \set Staff.midiInstrument = "Church Organ"
        \clef bass
        \ten
      }
    }
    \new Staff {
      \new Voice {
        \set Staff.midiInstrument = "Church Organ"
        \clef bass
        \bas
      }
    }
  >>
}

\make-midi-list "erde" \alle #'(66 72 80 86)