Autor Thema: Akkordnamen vom Typ Fis statt F#  (Gelesen 535 mal)

fabian

  • Newbie
  • *
  • Beiträge: 5
Akkordnamen vom Typ Fis statt F#
« am: Montag, 21. September 2020, 13:24 »
Hallo, leider konnte ich nichts zu dem Thema finden, sondern lediglich Erklärungen dazu, wie sich das Kreuz hinter dem Akkordgrundbuchstaben ändern lässt (z.B. hochstellen, verkleinern etc.). Sollte ich was übersehen haben, dann tut es mir leid. Schickt mir den Link zu.

Also: Ich hätte die Akkordbezeichnung gerne in der Form "Fis" (für Fis-Dur) statt des standardmäßig eingestellten "F#". Wie sollte ich da vorgehen? Es müsste auch in Verbindung mit klein geschriebenen Buchstaben für Mollakkorde funktionieren, also bei \set chordNameLowercaseMinor = ##t.

Herzliche Grüße und besten Dank im Voraus.
Fabian

harm6

  • Hero Member
  • *****
  • Beiträge: 786
Antw:Akkordnamen vom Typ Fis statt F#
« Antwort #1 am: Montag, 21. September 2020, 21:02 »
https://archiv.lilypondforum.de/index.php/topic,1595.msg8838.html#msg8838

Ich hoffe es funktioniert noch, ansonsten melde Dich.


Gruß,
  Harm

Manuela

  • Hero Member
  • *****
  • Beiträge: 603
    • Manuelas Lilypond Wiki
Antw:Akkordnamen vom Typ Fis statt F#
« Antwort #2 am: Dienstag, 22. September 2020, 14:41 »
Ich verwende standardmäßig folgenden Code:

\language "deutsch"
#(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))

\layout {
 
  \context {
    \ChordNames
    chordNameLowercaseMinor = ##t
    chordRootNamer = #germanChords
    chordNoteNamer = #(chord-name->german-markup #f)
  }
 }
 
 \new ChordNames \chordmode {
  f h4 b:m fis es as:m
}
Danke für eure Hilfe
viele Grüße
-- Manuela

fabian

  • Newbie
  • *
  • Beiträge: 5
Antw:Akkordnamen vom Typ Fis statt F#
« Antwort #3 am: Dienstag, 22. September 2020, 17:31 »
Liebe Manuela, lieber harm6, danke für Eure Antworten. Ich probier's gleich aus! Liebe Grüße, Fabian

fabian

  • Newbie
  • *
  • Beiträge: 5
Antw:Akkordnamen vom Typ Fis statt F#
« Antwort #4 am: Dienstag, 22. September 2020, 17:43 »
Problem gelöst, Manuelas Code hat funktioniert! Danke!

Manuela

  • Hero Member
  • *****
  • Beiträge: 603
    • Manuelas Lilypond Wiki
Antw:Akkordnamen vom Typ Fis statt F#
« Antwort #5 am: Mittwoch, 23. September 2020, 21:21 »
Dann ändere doch bitte den Betreff, damit in der Übersicht zu sehen ist, dass das Problem gelöst ist  :)
Danke für eure Hilfe
viele Grüße
-- Manuela