Falls es jemand interessiert, hier noch eine Fassung für Chromatik, Vierteltöne hab ich mir aber gespart:
\version "2.19.36"
#(define intervalltabelleII
'((ceses . "d. v. Prim")
(ces . "v. Prim")
(c . "r. Prim")
(cis . "ü. Prim")
(cisis . "d. ü. Prim")
(deses . "v. Sekund")
(des . "kl. Sekund")
(d . "gr. Sekund")
(dis . "ü. Sekund")
(disis . "d. ü. Sekund")
(eses . "v. Terz")
(es . "kl. Terz")
(e . "gr. Terz")
(eis . "ü. Terz")
(eisis . "d. ü. Terz")
(feses . "d. v. Quart")
(fes . "v. Quart")
(f . "r. Quart")
(fis . "ü. Quart")
(fisis . "d. ü. Quart")
(geses . "d v. Quint")
(ges . "v. Quint")
(g . "r. Quint")
(gis . "ü. Quint")
(gisis . "d. ü. Quint")
(asas . "v. Sext")
(as . "kl. Sext")
(a . "gr. Sext")
(ais . "ü. Sext")
(aisis . "d. ü.. Sext")
(heses . "v. Septim")
(b . "kl. Septim")
(h . "gr. Septime")
(his . "ü. Septim")
(hisis . "d. ü. Septim")))
#(define (get-german-pitch-name p)
(let* ((normalize-pitch
(lambda (pitch)
(ly:make-pitch
-1
(ly:pitch-notename pitch)
(ly:pitch-alteration pitch)))))
(assoc-get
(normalize-pitch p)
(map reverse-interval (assoc-get 'deutsch language-pitch-names)))))
#(define (out-put-text p1 p2)
(let* ((oct-insert
(lambda (p)
(make-string
(abs (1+ (ly:pitch-octave p)))
(if (negative? (1+ (ly:pitch-octave p))) #\, #\'))))
(pitch-diff
(if (ly:pitch<? p1 p2)
(ly:pitch-diff p2 p1)
(ly:pitch-diff p1 p2)))
(interval
(assoc-get (get-german-pitch-name pitch-diff) intervalltabelleII)))
(format #t
"\nDas Intervall von ~a~a nach ~a~a ist eine ~a (ggf. + Oktavversetzungen)"
(get-german-pitch-name p1)
(oct-insert p1)
(get-german-pitch-name p2)
(oct-insert p2)
interval)))
variante-harm =
#(define-void-function (p q) (ly:pitch? ly:pitch?) (out-put-text p q))
\variante-harm a aeses,
\variante-harm a aes,
\variante-harm a a,
\variante-harm a ais,
\variante-harm a bes,
\variante-harm a b,
\variante-harm a bis,
\variante-harm a ces,
\variante-harm a c,
\variante-harm a cis,
\variante-harm a des,
\variante-harm a d,
\variante-harm a dis,
\variante-harm a ees,
\variante-harm a e,
\variante-harm a eis,
\variante-harm a fes,
\variante-harm a f,
\variante-harm a fis,
\variante-harm a ges,
\variante-harm a g,
\variante-harm a gis,
#(display "\n\nScheme macht Spass!\n")
Gruß,
Harm