Hi Kevin,
But right now,
there's nothing other than constructing it by hand each time, for
every chord. I think something would be better than nothing.
The problem has two parts: 1) Generate a sensible voicing for a given
chord; 2) create the arpeggio. (Maybe you intended to do 1) manually
anyway?)
Here is a possible approach for 2) using LilyPond's (not ideal)
automatic voicings for 1):
\version "2.24.0"
arpeggiateChord = #
(define-music-function (chord) (ly:music?)
(define (make-tied-note p) #{ $p 32~ #})
(if (music-is-of-type? chord 'event-chord)
#{
\set tieWaitForNote = ##t
\grace {
$@(map make-tied-note (drop-right! (music-pitches chord) 1))
}
\unset tieWaitForNote
#chord
#}
chord))
\score {
\musicMap #arpeggiateChord {
\chordmode { c2:7.9- f4:m bes4:m6 f2:m/c c:7 f1 }
}
\layout {}
\midi {}
}
This is very basic, it doesn't support relative mode etc., but maybe it
gives you an idea.
Lukas