Lamm Gottes/pre

Zur Navigation springen Zur Suche springen

Lilypond Score

\version "2.20.0"
\language "deutsch"
myTitel = "Lamm Gottes, gibt uns Frieden"
mycomp=\markup \line \fontsize #0 {
  "M&T: ?"
}

#(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))

#(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))

#(define (note-name->my-german-markup pitch lowercase?)
   (let* ((name (ly:pitch-notename pitch))
          (alt-semitones (pitch-alteration-semitones pitch))
          (n-a (if (member (cons name alt-semitones) `((6 . -1) (6 . -2)))
                   (cons 7 (+ 1 alt-semitones))
                   (cons name alt-semitones))))
     (make-line-markup
      (list
       (string-append
        (list-ref '("C" "D" "E" "F" "G" "A" "H" "B") (car n-a))
        (if (or (equal? (car n-a) 2) (equal? (car n-a) 5))
            (list-ref '( "ses" "s" "" "is" "isis") (+ 2 (cdr n-a)))
            (list-ref '("eses" "es" "" "is" "isis") (+ 2 (cdr n-a)))))))))

\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 {
    \ChordNames
    chordRootNamer = #germanChords
    \override ChordName.font-name = #"Bahnschrift Condensed"
  }
}

sop = \relative c' {
  \time 4/4
  \autoBeamOff
  \key d \major
  \partial 4
  d4
  d e fis d
  h d2 cis4
  h cis d fis
  e2 r4 fis
  d fis fis a
  h h2 a4
  fis d d h
  d2.
  \bar "|."
}

dd = < a d fis >1
hm = < h d fis >2
gd = < h d g >1
ax = < a cis e g >2

ten = \relative c {
  \key d \major
  \clef bass
  r4
  \dd  \hm r4 r
  \gd \ax r4 r
  \dd < h d g >2. r4
  < a d fis >2 < h d g >
  < a d fis >2.
}

akks = \chordmode {
  s4
  d1 h:m
  g a:7
  d g d2 g d
}

Struktur =
{
  \override Score.NonMusicalPaperColumn.page-break-permission = ##f
  \override Score.RehearsalMark.X-offset = #-4
  \repeat unfold 3 { s4 s1 s2. \bar "'" \break }
  s4
}

lyr = \lyricmode {
  \set stanza = #"1."
  Lamm Got -- tes, gib uns Frie -- den,
  lass uns Ge -- schwis -- ter sein.
  Dann kön -- nen wir emp -- fan -- gen
  ge -- mein -- sam Brot und Wein.
}

kopf=\header {
  title = \markup \line
  {
    \myTitel
  }
  subtitle = "Agnus Dei"
  subsubtitle = ##f
  poet = ##f
  composer = \markup { #mycomp }
  piece = ##f
}

\bookpart {
  \paper {
    evenHeaderMarkup =##f
    oddHeaderMarkup = ##f
    evenFooterMarkup = ##f
    oddFooterMarkup = ##f
    line-width = 140
    markup-system-spacing.padding = #10
    system-system-spacing.padding = #12
    indent = 0
    ragged-bottom = ##t
  }
  \markup \left-column
  {
    \null \vspace #6 \fontsize #6 \bold \caps "Anmerkungen"
    \vspace #2
  }
  \markup \fontsize #1 \wordwrap
  {
    Dieses Lied zählt zu den einfacheren mit
    wenig rhythmischen Herausforderungen.
  }
  \markup \vspace #0.5
  \markup \fontsize #1 \wordwrap
  {
    Das ganze Lied wird einmal ohne Gesang gespielt,
    dann zwei Mal mit Gesang.
  }
}

\bookpart {
  \paper {
    top-margin = 35\mm
    ragged-right = ##f
    ragged-last = ##f
    ragged-bottom = ##f
    ragged-last-bottom = ##t
    bottom-margin = 35\mm
    indent = #0
    line-width = 160\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 = #8
    system-system-spacing.basic-distance = #15
  }
  \kopf
  \score
  {
    <<
      \new ChordNames \akks
      \new PianoStaff
      <<
        \new Staff
        <<
          \new Voice=Alt { \sop }
        >>
        \new Lyrics \lyricsto Alt \lyr
        \new Staff
        <<
          \new Voice {
            \override PianoStaff.VerticalAxisGroup.staff-staff-spacing.basic-distance = #14
            \ten
          }
          \new NullVoice \Struktur
        >>
      >>
    >>
  }
}