Quintfall auf G

Zur Navigation springen Zur Suche springen
#(define (string->pitch txt)
   (let* ((systr (string->symbol txt))
          (erst  (car (string->list txt)))
          (alttab
           `((c . 0) (ces . ,FLAT) (ceses . ,DOUBLE-FLAT)
              (cis . ,SHARP) (cisis . ,DOUBLE-SHARP)
              (des . ,FLAT) (deses . ,DOUBLE-FLAT)
              (d . 0)
              (dis . ,SHARP) (disis . ,DOUBLE-SHARP)
              (es . ,FLAT) (eses . ,DOUBLE-FLAT) (eeses . ,DOUBLE-FLAT)
              (e . 0) (eisis . ,DOUBLE-SHARP)
              (f . 0) (feses . ,DOUBLE-FLAT)
              (fis . ,SHARP) (fisis . ,DOUBLE-SHARP)
              (ges . ,FLAT) (geses . ,DOUBLE-FLAT)
              (g . 0)
              (gis . ,SHARP) (gisis . ,DOUBLE-SHARP)
              (as . ,FLAT) (ases . ,DOUBLE-FLAT) (aeses . ,DOUBLE-FLAT)
              (a . 0) (aes . ,FLAT)
              (ais . ,SHARP) (aisis . ,DOUBLE-SHARP)
              (b . ,FLAT) (heses . ,DOUBLE-FLAT) (bes . ,FLAT) (beses . ,DOUBLE-FLAT)
              (h . 0) (hisis . ,DOUBLE-SHARP) (his . ,SHARP)
              ))
          (pitab '((c . 0) (d . 1) (e . 2) (f . 3) (g . 4)
                    (a . 5) (h . 6) (b . 6)))
          (ton (assoc-get (string->symbol (string erst)) pitab))
          (alt (assoc-get systr alttab)))
     (if ton
         (ly:make-pitch 0 ton alt)
         (ly:make-pitch 0 0 0))))
Durkadenzen =
#(define-music-function (Tonart)
   (ly:pitch?)
   #{
     <<
       \new PianoStaff
       \with
       {
         instrumentName = \markup \fontsize #2 \override #'(font-features . ("smcp")) "klassisch "
       }
       <<
         \new Staff
         <<
           \new Voice
           {
             \key $Tonart \major
             \cadenzaOn
             \transpose c $Tonart
             \VollK
           }
         >>
         \new ChordNames \transpose c $Tonart \cVollK
         \new Staff
         <<
           \new Voice
           {
             \key $Tonart \major
             \clef bass
             \transpose c' $Tonart
             \VollK
           }
         >>
       >>
       \new Dynamics \DurStufen
     >>
   #}
   )

Jazzkadenzen =
#(define-music-function (Tonart)
   (ly:pitch?)
   #{
     <<
       \new PianoStaff
       \with
       {
         instrumentName = \markup \fontsize #2 \override #'(font-features . ("smcp")) "Jazz "
       }
       <<
         \new Staff
         <<
           \new Voice
           {
             \key $Tonart \major
             \cadenzaOn
             \transpose c $Tonart
             \VollKj
           }
         >>
         \new ChordNames \transpose c $Tonart \cVollKj
         \new Staff
         <<
           \new Voice
           {
             \key $Tonart \major
             \clef bass
             \transpose c'' $Tonart
             \VollKj
           }
         >>
       >>
       \new Dynamics \DurStufen
     >>
   #}
   )

Mollkadenzen =
#(define-music-function (Tonart)
   (ly:pitch?)
   #{
     <<
       \new PianoStaff
       \with
       {
         instrumentName = \markup \fontsize #2 \override #'(font-features . ("smcp")) "Moll "
       }
       <<
         \new Staff
         <<
           %\new NullVoice \nolinebr
           \new Voice
           {
             \key $Tonart \minor
             \cadenzaOn
             \transpose a $Tonart
             \VollKMoll
           }
         >>
         \new ChordNames \transpose a $Tonart \cVollKMoll

         \new Staff
         <<
           \new Voice
           {
             \key $Tonart \minor
             \clef bass
             \transpose a'' $Tonart
             \VollKMoll
           }
         >>
       >>
       \new Dynamics \MollStufen
     >>
   #}
   )

MollkadenzenDur =
#(define-music-function (Tonart)
   (ly:pitch?)
   #{
     <<
       \new PianoStaff
       \with
       {
         instrumentName = \markup \fontsize #2 \override #'(font-features . ("smcp"))
         \right-column { "Moll-Akkorde " \concat { "in " #(note-name->my-markup Tonart) "-Dur notiert " } }
       }
       <<
         \new Staff
         <<
           %\new NullVoice \nolinebr
           \new Voice
           {
             \key $Tonart \major
             \cadenzaOn
             \transpose a $Tonart
             \VollKMoll
           }
         >>
         \new ChordNames \transpose a $Tonart \cVollKMoll
         \new Staff
         <<
           \new Voice
           {
             \key $Tonart \major
             \clef bass
             \transpose a'' $Tonart
             \VollKMoll
           }
         >>
       >>
       \new Dynamics \MollStufen
     >>
   #}
   )

Quintfall =
#(define-void-function (p) (ly:pitch?)
   (add-score
    (list #{  \markup \fill-line \override #'(font-features . ("smcp")) \override #'(box-padding . 1)
              \override #'(thickness . 2) \override #'(font-size . 6)
              { \null \rounded-box \concat {"Quintenfall von " #(note-name->my-markup p) } \null }
      #}))
   (add-score
    (scorify-music #{ { \Durkadenzen $p } #}))
   (add-score
    (scorify-music #{ { \Jazzkadenzen $p } #}))
   (add-score
    (scorify-music #{ { \Mollkadenzen $p } #}))
   (add-score
    (scorify-music #{ { \MollkadenzenDur $p } #}))
   )

%%Anwendung: \Quintfall c