Jazzakkorde auflisten/exceptions

Zur Navigation springen Zur Suche springen
Definition der Notation für die Akkordsymbole abweichend vom Lilypond-Standard.
myflat = \markup \fontsize #-1 \flat
mysharp = \markup \fontsize #-2 \sharp

chExceptionMusic = {
  <c e g h>1-\markup { \fontsize #-6 " " "j" }
  <c e g h d'>1-\markup { \fontsize #-6 " " "j" \super 9 }
  <c e g h dis'>1-\markup { \fontsize #-6 " " "j" \super \vcenter { "7(" \mysharp "9)" } }
  <c e g h d' a'>1-\markup { \fontsize #-6 " " "j" \super 13 }
  <c e g b d' a'>1-\markup { \super 13 }

  <c e g a d'>-\markup {
    \super {
      "6/9"
    }
  }
  <c es g a d'>-\markup {
    m \super 6/9
  }
  <c es ges heses>-\markup {
    \fontsize #-6 " " dim \super 7
  }
  <c es ges b des'>-\markup \line {
    m \super 7
    \translate #'(-0.5 . 1) \vcenter
    {
      "(" \override #'(baseline-skip . 1)
      \center-column
      \fontsize #-4 { \concat { \myflat "5" } \concat { \myflat "9" } } ")"
    }
  }
  <c es ges h>-\markup {
    \fontsize #-6 " " dim \super maj7
  }
  <c es ges heses des'>-\markup {
    \fontsize #-6 " " "dim" \super \concat { \myflat "9" }
  }

  <c es g b f'>-\markup {
    m \super 7(add11)
  }
  <c es gis>-\markup {
    m
    \normal-size-super "+"
  }
  <c f g b>-\markup \super {
    7
    \normal-size-sub sus
  }
  <c f g b d'>-\markup \super {
    9
    \normal-size-sub sus
  }
  <c f g b d' a'>-\markup \super {
    13
    \normal-size-sub sus
  }
  <c e ges b>-\markup \super {
    7 "(" \myflat "5)"
  }
  <c e ges b d'>-\markup \super {
    9 "(" \myflat "5)"
  }
  <c e gis b>-\markup {
    + \super 7
  }
  <c e gis b d'>-\markup {
    + \super 9
  }
  <c e g b des'>-\markup \super {
    7 "(" \myflat "9)"
  }
  <c e g b dis'>-\markup \super {
    \vcenter { "7(" \mysharp "9)" }
  }
  <c e ges b des'>-\markup \line {
    \super 7
    \translate #'(-0.5 . 1) \vcenter
    {
      "(" \override #'(baseline-skip . 1)
      \center-column
      \fontsize #-4 { \concat { \myflat "9" } \concat { \myflat "5" } } ")"
    }
  }
  <c e gis b dis'>-\markup {
    + \super \vcenter { "7(" \mysharp "9)" }
  }
  <c e gis b des'>-\markup {
    + \super \vcenter { "7(" \myflat "9)" }
  }
  <c e gis h >-\markup {
    + \super 7
  }
  <c e gis h d'>-\markup {
    + \super 9
  }

  <c e g b fis'>-\markup
  \super \vcenter { "7(" \mysharp "11)" }
  <c e g b d' fis'>-\markup
  \super \vcenter { "9(" \mysharp "11)" }
  <c e g b des' fis'>-\markup \line {
    \super 7
    \translate #'(-0.5 . 1) \vcenter
    {
      "(" \override #'(baseline-skip . 1)
      \center-column
      \fontsize #-4 { \concat { \mysharp "11" } \concat { \myflat "9" } } ")"
    }
  }
  <c e ges b d' a'>-\markup
  \super \vcenter { "13(" \myflat "5)" }
  <c e g b d' fis' a'>-\markup
  \super \vcenter { "13(" \mysharp "11)" }
}

chExceptions =
#(append
  (sequential-music-to-chord-exceptions chExceptionMusic #t)
  ignatzekExceptions)

myBlue = #(rgb-color (/ 22 255) (/ 22 255) (/ 92 255))

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