Fuge c moll Vorspiel (BWV 847)

Zur Navigation springen Zur Suche springen

Lilypond Score

staffup = { \change Staff = "up" }
staffdown = { \change Staff = "down" }

sop = \relative c''' {
  \key es \major
  \set Timing.beamExceptions = #'()
  \set Timing.baseMoment = #(ly:make-moment 1/4)
  \set Timing.beatStructure = #'(1 1 1 1 )  %% abhängig vom Takt
  \numericTimeSignature
  R1 R1
  r8 g16-4 ( fis g8-- ) c,-- es-- g16 ( fis! g8 ) a --
  d,8-- g16 ( fis g8 ) a-- c,16-1 ( d es4 ) ( d16 c-1
  b8-2 ) es16-4 ( d es8 ) g,-- as-- f'16 ( es f8 ) a,--
  b8-- g'16 ( f g8 ) h,-- c-- d16 es
  \voiceOne
  f4-5~
  f8 es16 d c-1 b!-4 as g
  \set Voice.beatStructure = #'(2 2 )
  f8-1 as'-5 ( g f-3
  es-2 ) d-3 ( es f h,-3 ) (c-4 d-5 h!-1 )
  c1\fermata
  \bar "|."
}

alt = \relative c'' {
  s1*6
  \voiceTwo
  \set Voice.beatStructure = #'(2 2 )
  c4 r r8 f es d
  r8 as g f
  \set Voice.beatStructure = #'(1 1 1 1 )
  g-1 f16-2 es f8 d
  g1
  %}
}

ten = \relative c' {
  \clef bass
  \key es \major
  %\halsdown
  \override Fingering.avoid-slur = #'inside
  \override Fingering.direction = #DOWN
  \numericTimeSignature
  r8 c16-2 ( h c8 ) g---5 as-- c16 ( h c8-2 )  d---1
  g,8-- c16 ( h  c8 ) d-- f,16-4 ( g as4 ) g16 ( f
  es16 ) c' ( h a g f! es d
  \set Voice.beatStructure = #'(2 2 )
  c8-5 ) \noBeam es'-2 ( d c
  b8 ) a ( b c-1 ) fis,-3 ( g a! fis-3

%%% 5
  \set Voice.beatStructure = #'(1 1 1 1 )
  g4-1 ) r16 c,-5 d es f g-1 as8~-2 as16 d,-5 es f
  g16 a-1 b8~-2 b16 es,-3 f g-1 as-2 g-1 f es d8
  \staffup
  c''16 h!
  \staffdown
  \clef bass
  r8 c,16-2 ( h c8 ) g-- as-- c16 ( h! c8 ) d--
  g,8 c16 ( h c8 ) d-- f,16-4 ( g as4 ) g16 ( f
  es1 )\fermata
}

Struktur =
{
  \override Score.NonMusicalPaperColumn.page-break-permission = ##f
  \time 4/4
  s1 * 7
  \override TextSpanner.dash-period = #1
  \override TextSpanner.dash-fraction = #0.5
  \override TextSpanner.bound-details.left.text = #"rit."
  \override TextSpanner.bound-details.right.text =
  \markup { \draw-line #'(0 . -1) }
  s1\startTextSpan
  s\stopTextSpan
}

kopf = \header {
  title = "Fuge C-Moll"
  composer = "M: Johann Sebastian Bach (1685-1750)"
  subtitle = "BWV 847"
  subsubtitle = "Die ersten neun Takte als Einzug"
}

mypaper =
\paper {
  top-margin = 25\mm
  ragged-bottom = ##t
  ragged-last-bottom = ##t
  bottom-margin = 25\mm
  line-width = 160\mm
  indent = 20
  markup-system-spacing.padding = #4
  system-system-spacing.padding = #6
  markup-markup-spacing.padding = #3
}

\bookpart {
  \mypaper
  \kopf
  \score
  {
    <<
      \new PianoStaff
      \with
      {
        instrumentName = \markup \center-column {
          \fontsize #1 "Fuga II"
          "a 3 Voci."
        }
        \override VerticalAxisGroup.staff-staff-spacing.padding = #6
      }
      <<
        \new Staff="up"
        <<
          \new Voice="melody" { \sop }
          \new Voice { \voiceTwo \alt }
          \new Voice \Struktur
        >>
        \new Staff="down"
        <<
          \new Voice { \ten }
        >>
      >>
    >>
  }
}

Lilypond Score

staffup = { \change Staff = "up" }
staffdown = { \change Staff = "down" }

sop = \relative c''' {
  \key es \major
  \set Timing.beamExceptions = #'()
  \set Timing.baseMoment = #(ly:make-moment 1/4)
  \set Timing.beatStructure = #'(1 1 1 1 )  %% abhängig vom Takt
  \numericTimeSignature
  R1 R1
  r8 g16-4 ( fis g8-- ) c,-- es-- g16 ( fis! g8 ) a --
  d,8-- g16 ( fis g8 ) a-- c,16-1 ( d es4 ) ( d16 c-1
  b8-2 ) es16-4 ( d es8 ) g,-- as-- f'16 ( es f8 ) a,--
  b8-- g'16 ( f g8 ) h,-- c-- d16 es
  \voiceOne
  f4-5~
  f8 es16 d c-1 b!-4 as g
  \set Voice.beatStructure = #'(2 2 )
  f8-1 as'-5 ( g f-3
  es-2 ) d-3 ( es f h,-3 ) (c-4 d-5 h!-1 )
  c1\fermata
  \bar "|."
}

alt = \relative c'' {
  s1*6
  \voiceTwo
  \set Voice.beatStructure = #'(2 2 )
  c4 r r8 f es d
  r8 as g f
  \set Voice.beatStructure = #'(1 1 1 1 )
  g-1 f16-2 es f8 d
  g1
  %}
}

ten = \relative c' {
  \clef bass
  \key es \major
  %\halsdown
  \override Fingering.avoid-slur = #'inside
  \override Fingering.direction = #DOWN
  \numericTimeSignature
  r8 c16-2 ( h c8 ) g---5 as-- c16 ( h c8-2 )  d---1
  g,8-- c16 ( h  c8 ) d-- f,16-4 ( g as4 ) g16 ( f
  es16 ) c' ( h a g f! es d
  \set Voice.beatStructure = #'(2 2 )
  c8-5 ) \noBeam es'-2 ( d c
  b8 ) a ( b c-1 ) fis,-3 ( g a! fis-3

%%% 5
  \set Voice.beatStructure = #'(1 1 1 1 )
  g4-1 ) r16 c,-5 d es f g-1 as8~-2 as16 d,-5 es f
  g16 a-1 b8~-2 b16 es,-3 f g-1 as-2 g-1 f es d8
  \staffup
  c''16 h!
  \staffdown
  \clef bass
  r8 c,16-2 ( h c8 ) g-- as-- c16 ( h! c8 ) d--
  g,8 c16 ( h c8 ) d-- f,16-4 ( g as4 ) g16 ( f
  es1 )\fermata
}

Struktur =
{
  \override Score.NonMusicalPaperColumn.page-break-permission = ##f
  \time 4/4
  s1 * 7
  \override TextSpanner.dash-period = #1
  \override TextSpanner.dash-fraction = #0.5
  \override TextSpanner.bound-details.left.text = #"rit."
  \override TextSpanner.bound-details.right.text =
  \markup { \draw-line #'(0 . -1) }
  s1\startTextSpan
  s\stopTextSpan
}

kopf = \header {
  title = "Fuge C-Moll"
  composer = "M: Johann Sebastian Bach (1685-1750)"
  subtitle = "BWV 847"
  subsubtitle = "Die ersten neun Takte als Einzug"
}

mypaper =
\paper {
  top-margin = 25\mm
  ragged-bottom = ##t
  ragged-last-bottom = ##t
  bottom-margin = 25\mm
  line-width = 160\mm
  indent = 20
  markup-system-spacing.padding = #4
  system-system-spacing.padding = #6
  markup-markup-spacing.padding = #3
}

\bookpart {
  \mypaper
  \kopf
  \score
  {
    <<
      \new PianoStaff
      \with
      {
        instrumentName = \markup \center-column {
          \fontsize #1 "Fuga II"
          "a 3 Voci."
        }
        \override VerticalAxisGroup.staff-staff-spacing.padding = #6
      }
      <<
        \new Staff="up"
        <<
          \new Voice="melody" { \sop }
          \new Voice { \voiceTwo \alt }
          \new Voice \Struktur
        >>
        \new Staff="down"
        <<
          \new Voice { \ten }
        >>
      >>
    >>
  }
}

#(set-global-staff-size 24)

MollDur =
#(define-music-function (p q m)
   (ly:pitch? ly:pitch? ly:music?)
   #{
     \key $p \major \transpose c $p \naturalizeMusic \transpose $q c { $m }
   #}
   )

#(define-markup-command (text-fromproperty layout props text-1 symbol text-2)
   (markup? symbol? markup?)
   #:category other
   (let ((m (chain-assoc-get symbol props)))
     (if (markup? m)
         ;; prevent infinite loops by clearing the interpreted property:
         (interpret-markup
          layout
          (cons (list (cons symbol `(,property-recursive-markup ,symbol))) props)
          (make-concat-markup (list text-1 m text-2)))
         empty-stencil)))

orgelpre =
%Notensatz für Vorspiel 4stimmig + Umbrüche
#(define-music-function (sop alt ten bas stru p)
   (ly:music? ly:music? ly:music? ly:music? ly:music? ly:pitch?)
   #{
     <<
       \new PianoStaff="leadsheet"
       <<
         \new Staff="up"
         <<
           \new Voice="Alt" { \voiceOne \transpose c $p $sop }
           \new Voice { \voiceTwo \transpose c $p $alt }
         >>
         \new Staff="down"
         <<
           \new Voice { \voiceOne \transpose c $p $ten }
           \new Voice { \voiceTwo \transpose c $p $bas }
           \new NullVoice $stru
         >>
       >>
     >>
   #}
   )

orgelp =
%% Orgelsatz mit Pedal
#(define-music-function (sop alt ten bas ped stru p)
   (ly:music? ly:music? ly:music? ly:music? ly:music? ly:music? number?)
   #{
     <<
       \new PianoStaff="leadsheet"
       <<
         \new Staff="up"
         <<
           \new Voice="Alt" { \voiceOne $sop }
           \new Voice { \voiceTwo $alt }
         >>
         \new Staff="down"
         <<
           \new Voice { \voiceOne $ten }
           \new Voice { \voiceTwo $bas }
           \new NullVoice $stru
         >>
       >>
       \new StaffGroup
       \new Staff="Pedal" \with {
         \magnifyStaff $p
       }
       <<
         \new Voice $ped
       >>
     >>
   #}
   )

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))
\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
    \override TextSpanner.dash-period = #1
    \override TextSpanner.dash-fraction = #0.5
    \override TextSpanner.bound-details.left.text = #"rit."
    \override TextSpanner.bound-details.right.text =
    \markup { \draw-line #'(0 . -1) }
  }
  \context {
    \Lyrics
    \override VerticalAxisGroup.staff-affinity = #CENTER
  }
  \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.padding = #0.4
    \override BarNumber.outside-staff-priority =#'()
    \override BarNumber.after-line-breaking = ##f
    \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
    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
  }
}

#(define-markup-command (text-fromproperty layout props text-1 symbol text-2)
   (markup? symbol? markup?)
   #:category other
   (let ((m (chain-assoc-get symbol props)))
     (if (markup? m)
         ;; prevent infinite loops by clearing the interpreted property:
         (interpret-markup
          layout
          (cons (list (cons symbol `(,property-recursive-markup ,symbol))) props)
          (make-concat-markup (list text-1 m text-2)))
         empty-stencil)))

\paper {
  #(include-special-characters)
  indent = #0
  ragged-right = ##f
  ragged-last = ##f
  ragged-bottom = ##f
  ragged-last-bottom = ##f
  print-all-headers = ##f
  print-page-number = ##f
  scoreTitleMarkup = ##f
  bookTitleMarkup =
  \markup {
    %\override #'(baseline-skip . 1)
    \column \override #'(baseline-skip . 1) {
      \fill-line {
        \huge \larger \larger \bold
        \center-column {
          \fromproperty #'header:title
          " "
        }
      }
      \fill-line
      {
        \bold
        \center-column {
          \fromproperty #'header:subtitle
          " "
        }
      }
      \fill-line
      {
        \center-column {
          \fromproperty #'header:subsubtitle
          " "
        }
      }
      \fontsize #-1.5 {
        \fill-line {
          "Notensatz: lilypond.miraheze.org" \fromproperty #'header:composer
        }
        \fill-line {
          ""  \text-fromproperty "Originaltonart: " #'header:key "-Dur"
        }
      }
    }
  }
}