Fuge c moll Postludium (BWV 847)

Zur Navigation springen Zur Suche springen

Lilypond Score

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

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
  \voiceOne
  r8 c'16_( h c8 ) g-3 as4 r8 a
  b8 b16_( a b8 ) f g4 r8 g~
  g8 as16 b c h c-5 as-3 f2~-4
  % {
%%% 25
  f8 d'16_( c d8 ) f,-3 es es'16_( d es8 ) g,-3
  f8 f'16 ( es f8 ) as,-- g16 f'-4 ( es-3 d-2 c-1 h-4 a-1-3 g-2 )
  c8-1-3 ( [ f-2-5 es-1-4 d-1-3 ] ) r-2 as-1-5 ( g f
  g8-1-4 f16 es f8 d ) as' g r a
  h8 c f,16 es d c c8\noBeam c'16 h c8 g
  % {
%%% 30
  as8 c16 h c8
  %\once \override Fingering.X-offset = #0.5
  < as! h! d >-2-5
  g c16 h c8 d
  f,16 g as4 g16-5 f e2\fermata
  %}
  \bar "|."
}

alt = \relative c' {
  \voiceTwo
  s4 s8 e
  \set Voice.beatStructure = #'(1 1 1 1 )
  f f16-3 e! f8 c
  d4 r8 d es^( es16 d es8 ) b
  c2~ c8 d16 es f es f d
  % {
%%% 25
  h8 r r h c r r es
  d8 r r f~ f r r f
  \set Voice.beatStructure = #'(2 2 )
  es8 as! g f es d es f
  h,8 c d h? h? c r c
  \set Voice.beatStructure = #'(1 1 1 1 )
  f16 d es c~ c8 h c4\noBeam r8 e
  % {
%%% 30
  f4 r8
  \once \override NoteColumn.force-hshift = #1
  \override TextSpanner.bound-details.left.text = "rit."
  \override Fingering.extra-offset = #'( 0 . 0.5)
  f^1^3_\startTextSpan f

  es16 d es8 <as f>
  <h, d>8 r <h d> r <g c>2\stopTextSpan
  %}
}

ten = \relative c {
  \clef bass
  \key es \major
  %\halsdown
  \override Fingering.avoid-slur = #'inside
  \override Fingering.direction = #DOWN

  r4 c16-1 b as  g f b'-2 as-3 g-1 f-2 es! d-1 c
  b16 c d c b as! g-1 f-4 es as'-2 g-1 f es d-1 c-2 b
  as16-4 b c b as g-1 f-3 es d g'-1 f-2 es d c h a
  %\revert Fingering.direction
  % {
%%% 25
  g4-5 r r16 g-5 a h c d-1 es-3 f
  g16 f-3 as-2 g-1 f es-3 d-1 c-2 h8 c16 h c8 g as c16 ( h! c8 ) d--
  g,8-- c16  ( h  c8 ) d ( f,16-4 g as4 ) g16 ( f
  es4-5 ) r8 es'
  d8 c g' g, <c, c'>2~

%%% 30
  <c c'>1~
  <c c'>1
  %}
}

Struktur =
{
  \override Score.NonMusicalPaperColumn.page-break-permission = ##f
  \override Score.NonMusicalPaperColumn.line-break-permission = ##f
  %   \omit Score.TimeSignature
  \override Score.SpacingSpanner.common-shortest-duration = #(ly:make-moment 1/1)
  \override PianoStaff.VerticalAxisGroup.staff-staff-spacing.padding = #2
  \time 4/4
  \set Score.currentBarNumber = #22
  s1 * 2 \break
  s1 * 2 \break
  s1 * 3 \break
}

kopf = \header {
  title = "Fuge C Moll"
  composer = "M: Johann Sebastian Bach"
  subtitle = "BWV 847"
  subsubtitle = "ab Takt 22 als Auszug"
}

mypaper =
\paper {
  oddFooterMarkup = ##f
  evenFooterMarkup = ##f
  oddHeaderMarkup = ##f
  evenHeaderMarkup = ##f
  top-margin = 20\mm
  ragged-bottom = ##f
  ragged-last-bottom = ##f
  bottom-margin = 20\mm
  line-width = 175\mm
  indent = 20
  markup-system-spacing.padding = #4
  system-system-spacing.padding = #4
  markup-markup-spacing.padding = #3
}

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

Lilypond Score

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

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
  \voiceOne
  r8 c'16_( h c8 ) g-3 as4 r8 a
  b8 b16_( a b8 ) f g4 r8 g~
  g8 as16 b c h c-5 as-3 f2~-4
  % {
%%% 25
  f8 d'16_( c d8 ) f,-3 es es'16_( d es8 ) g,-3
  f8 f'16 ( es f8 ) as,-- g16 f'-4 ( es-3 d-2 c-1 h-4 a-1-3 g-2 )
  c8-1-3 ( [ f-2-5 es-1-4 d-1-3 ] ) r-2 as-1-5 ( g f
  g8-1-4 f16 es f8 d ) as' g r a
  h8 c f,16 es d c c8\noBeam c'16 h c8 g
  % {
%%% 30
  as8 c16 h c8
  %\once \override Fingering.X-offset = #0.5
  < as! h! d >-2-5
  g c16 h c8 d
  f,16 g as4 g16-5 f e2\fermata
  %}
  \bar "|."
}

alt = \relative c' {
  \voiceTwo
  s4 s8 e
  \set Voice.beatStructure = #'(1 1 1 1 )
  f f16-3 e! f8 c
  d4 r8 d es^( es16 d es8 ) b
  c2~ c8 d16 es f es f d
  % {
%%% 25
  h8 r r h c r r es
  d8 r r f~ f r r f
  \set Voice.beatStructure = #'(2 2 )
  es8 as! g f es d es f
  h,8 c d h? h? c r c
  \set Voice.beatStructure = #'(1 1 1 1 )
  f16 d es c~ c8 h c4\noBeam r8 e
  % {
%%% 30
  f4 r8
  \once \override NoteColumn.force-hshift = #1
  \override TextSpanner.bound-details.left.text = "rit."
  \override Fingering.extra-offset = #'( 0 . 0.5)
  f^1^3_\startTextSpan f

  es16 d es8 <as f>
  <h, d>8 r <h d> r <g c>2\stopTextSpan
  %}
}

ten = \relative c {
  \clef bass
  \key es \major
  %\halsdown
  \override Fingering.avoid-slur = #'inside
  \override Fingering.direction = #DOWN

  r4 c16-1 b as  g f b'-2 as-3 g-1 f-2 es! d-1 c
  b16 c d c b as! g-1 f-4 es as'-2 g-1 f es d-1 c-2 b
  as16-4 b c b as g-1 f-3 es d g'-1 f-2 es d c h a
  %\revert Fingering.direction
  % {
%%% 25
  g4-5 r r16 g-5 a h c d-1 es-3 f
  g16 f-3 as-2 g-1 f es-3 d-1 c-2 h8 c16 h c8 g as c16 ( h! c8 ) d--
  g,8-- c16  ( h  c8 ) d ( f,16-4 g as4 ) g16 ( f
  es4-5 ) r8 es'
  d8 c g' g, <c, c'>2~

%%% 30
  <c c'>1~
  <c c'>1
  %}
}

Struktur =
{
  \override Score.NonMusicalPaperColumn.page-break-permission = ##f
  \override Score.NonMusicalPaperColumn.line-break-permission = ##f
  %   \omit Score.TimeSignature
  \override Score.SpacingSpanner.common-shortest-duration = #(ly:make-moment 1/1)
  \override PianoStaff.VerticalAxisGroup.staff-staff-spacing.padding = #2
  \time 4/4
  \set Score.currentBarNumber = #22
  s1 * 2 \break
  s1 * 2 \break
  s1 * 3 \break
}

kopf = \header {
  title = "Fuge C Moll"
  composer = "M: Johann Sebastian Bach"
  subtitle = "BWV 847"
  subsubtitle = "ab Takt 22 als Auszug"
}

mypaper =
\paper {
  oddFooterMarkup = ##f
  evenFooterMarkup = ##f
  oddHeaderMarkup = ##f
  evenHeaderMarkup = ##f
  top-margin = 20\mm
  ragged-bottom = ##f
  ragged-last-bottom = ##f
  bottom-margin = 20\mm
  line-width = 175\mm
  indent = 20
  markup-system-spacing.padding = #4
  system-system-spacing.padding = #4
  markup-markup-spacing.padding = #3
}

\bookpart {
  \mypaper
  \kopf
  \score
  {
    <<
      \new PianoStaff
      \with
      {
        instrumentName = \markup \center-column {
          \fontsize #1 "Fuga II"
          "a 3 Voci."
        }
      }
      <<
        \new Staff="up"
        <<
          \new Voice="melody" { \sop }
          \new Voice { \alt }
          \new NullVoice \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"
        }
      }
    }
  }
}