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