Open pinobatch opened 7 years ago
Status update: This is the last of the arpeggio notation suggestions from 2017-06-01 to remain unfixed. Arpeggio Waltz (song arp_waltz
) currently tests a lot of the new features: chord repeat (q
), arpeggios specified by top note (#15, which I called "negative"), named arpeggios (#12), first and second inversion (#14), and overriding an arpeggio for one note (#13). But there's plenty of space there to test the new syntax, replacing d2:-m
(which means d2:-37
) with the equivalent <d bb g>2
.
In a recent project that used Pently, I had to laboriously hand-convert a few passages where the composer had used seven instruments with different looping negative arpeggio envelopes to create rapidly moving single-channel three-part harmony. (These were three inversions of major, three inversions of minor, and a diminished chord.) But because Pently supports neither looping envelopes nor negative arpeggios, I had to manually find the lowest note of each chord and add an arpeggio command for each. So I decided to see how other textual music representations handle chords.
LilyPond has a notation for chorded notes, where the pitches are placed between angle brackets. Relative mode works within a chord, but the previous note is updated from the first note of the chord. The special symbol
q
repeats the previous chord, skipping over any intervening lone notes.So long as the notes are within a minor tenth, this should behave identically to the following:
This notation for chorded notes interferes with parsing of MML octave notation, which also uses
<e
and>e
. But the existing FamiTracker to Pently converter (ft2pently) uses LilyPond octaves (e,
ande'
), as do the included tracks. So this would need a feature declaration, analogous todurations
andnotenames
, to switch between MML octaves and chord-to-arpeggio.It also needs a test case. I don't want to modify "Individual Features" because then we'd have no test case for the
EN
command.LilyPond also supports a chord mode. I plan to file a separate issue about a chord mode-inspired arpeggio control.