-
Notifications
You must be signed in to change notification settings - Fork 5
Create arpeggios from chorded notes #11
Description
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.
<a c e>4 <g b d>8 q4.
So long as the notes are within a minor tenth, this should behave identically to the following:
EN37 a4 EN37 g8 g4. EN00
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, and e'), as do the included tracks. So this would need a feature declaration, analogous to durations and notenames, 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.